package main

import "os"

var ok = true

func testInt64Unary(a, plus, xor, minus int64) {
	if n, op, want := +a, `+`, plus; n != want { ok=false; println(`int64`, op, a, `=`, n, `should be`, want); }
	if n, op, want := ^a, `^`, xor; n != want { ok=false; println(`int64`, op, a, `=`, n, `should be`, want); }
	if n, op, want := -a, `-`, minus; n != want { ok=false; println(`int64`, op, a, `=`, n, `should be`, want); }
}

func testInt64Binary(a, b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(`int64`, a, op, b, `=`, n, `should be`, want); }
}

func testInt64Shift(a int64, b uint64, left, right int64) {
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`int64`, a, op, `uint64`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`int64`, a, op, `uint64`, s, `=`, n, `should be`, want); }
	if uint64(uint(b)) == b {
		b := uint(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`int64`, a, op, `uint`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`int64`, a, op, `uint`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`int64`, a, op, `uint32`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`int64`, a, op, `uint32`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint16(b)) == b {
		b := uint16(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`int64`, a, op, `uint16`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`int64`, a, op, `uint16`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint8(b)) == b {
		b := uint8(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`int64`, a, op, `uint8`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`int64`, a, op, `uint8`, s, `=`, n, `should be`, want); }
	}
}

func testUint64Unary(a, plus, xor, minus uint64) {
	if n, op, want := +a, `+`, plus; n != want { ok=false; println(`uint64`, op, a, `=`, n, `should be`, want); }
	if n, op, want := ^a, `^`, xor; n != want { ok=false; println(`uint64`, op, a, `=`, n, `should be`, want); }
	if n, op, want := -a, `-`, minus; n != want { ok=false; println(`uint64`, op, a, `=`, n, `should be`, want); }
}

func testUint64Binary(a, b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(`uint64`, a, op, b, `=`, n, `should be`, want); }
}

func testUint64Shift(a, b, left, right uint64) {
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`uint64`, a, op, `uint64`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`uint64`, a, op, `uint64`, s, `=`, n, `should be`, want); }
	if uint64(uint(b)) == b {
		b := uint(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`uint64`, a, op, `uint`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`uint64`, a, op, `uint`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`uint64`, a, op, `uint32`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`uint64`, a, op, `uint32`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint16(b)) == b {
		b := uint16(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`uint64`, a, op, `uint16`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`uint64`, a, op, `uint16`, s, `=`, n, `should be`, want); }
	}
	if uint64(uint8(b)) == b {
		b := uint8(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(`uint64`, a, op, `uint8`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(`uint64`, a, op, `uint8`, s, `=`, n, `should be`, want); }
	}
}

func test0() {
	testInt64Unary(0x000000000, 0x000000000, -0x000000001, 0x000000000);
	testInt64Binary(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testInt64Binary(0x000000000, 0x000000001, 0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testInt64Binary(0x000000000, 0x000000002, 0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testInt64Binary(0x000000000, 0x000000003, 0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testInt64Binary(0x000000000, 0x000000064, 0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testInt64Binary(0x000000000, 0x000002711, 0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testInt64Binary(0x000000000, 0x07fffffff, 0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testInt64Binary(0x000000000, 0x080000000, 0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testInt64Binary(0x000000000, 0x080000001, 0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testInt64Binary(0x000000000, 0x0c0000000, 0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testInt64Binary(0x000000000, 0x0ffffffff, 0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testInt64Binary(0x000000000, 0x100000000, 0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testInt64Binary(0x000000000, 0x100000001, 0x100000001, -0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testInt64Binary(0x000000000, 0x200000000, 0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testInt64Binary(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testInt64Binary(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testInt64Binary(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testInt64Binary(0x000000000, -0x000000001, -0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, 0x000000000, true);
	testInt64Binary(0x000000000, -0x000000002, -0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, 0x000000000, true);
	testInt64Binary(0x000000000, -0x000000003, -0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, 0x000000000, true);
	testInt64Binary(0x000000000, -0x000000064, -0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, 0x000000000, true);
	testInt64Binary(0x000000000, -0x000002711, -0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, 0x000000000, true);
	testInt64Binary(0x000000000, -0x07fffffff, -0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, true);
	testInt64Binary(0x000000000, -0x080000000, -0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, 0x000000000, true);
	testInt64Binary(0x000000000, -0x080000001, -0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, 0x000000000, true);
	testInt64Binary(0x000000000, -0x0c0000000, -0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, true);
	testInt64Binary(0x000000000, -0x100000000, -0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, 0x000000000, true);
	testInt64Binary(0x000000000, -0x0ffffffff, -0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, true);
	testInt64Binary(0x000000000, -0x200000000, -0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, 0x000000000, true);
	testInt64Binary(0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, true);
	testInt64Binary(0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, true);
	testInt64Binary(0x000000000, -0x8000000000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, true);
	testInt64Binary(0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, true);
	testInt64Shift(0x000000000, 0x000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000002, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000003, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x00000000f, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000010, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000011, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x00000001f, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000020, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000021, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x00000003d, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test1() {
	testInt64Unary(0x000000001, 0x000000001, -0x000000002, -0x000000001);
	testInt64Binary(0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testInt64Binary(0x000000001, 0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testInt64Binary(0x000000001, 0x000000002, 0x000000003, -0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testInt64Binary(0x000000001, 0x000000003, 0x000000004, -0x000000002, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testInt64Binary(0x000000001, 0x000000064, 0x000000065, -0x000000063, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testInt64Binary(0x000000001, 0x000002711, 0x000002712, -0x000002710, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testInt64Binary(0x000000001, 0x07fffffff, 0x080000000, -0x07ffffffe, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testInt64Binary(0x000000001, 0x080000000, 0x080000001, -0x07fffffff, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testInt64Binary(0x000000001, 0x080000001, 0x080000002, -0x080000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testInt64Binary(0x000000001, 0x0c0000000, 0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testInt64Binary(0x000000001, 0x0ffffffff, 0x100000000, -0x0fffffffe, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testInt64Binary(0x000000001, 0x100000000, 0x100000001, -0x0ffffffff, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testInt64Binary(0x000000001, 0x100000001, 0x100000002, -0x100000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testInt64Binary(0x000000001, 0x200000000, 0x200000001, -0x1ffffffff, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testInt64Binary(0x000000001, 0x7fffffffffffd8f0, 0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testInt64Binary(0x000000001, 0x7fffffffffffffff, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64Binary(0x000000001, 0x789abcdef0123456, 0x789abcdef0123457, -0x789abcdef0123455, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testInt64Binary(0x000000001, -0x000000001, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000000, true);
	testInt64Binary(0x000000001, -0x000000002, -0x000000001, 0x000000003, -0x000000002, 0x000000000, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000001, true);
	testInt64Binary(0x000000001, -0x000000003, -0x000000002, 0x000000004, -0x000000003, 0x000000000, 0x000000001, 0x000000001, -0x000000003, -0x000000004, 0x000000000, true);
	testInt64Binary(0x000000001, -0x000000064, -0x000000063, 0x000000065, -0x000000064, 0x000000000, 0x000000001, 0x000000000, -0x000000063, -0x000000063, 0x000000001, true);
	testInt64Binary(0x000000001, -0x000002711, -0x000002710, 0x000002712, -0x000002711, 0x000000000, 0x000000001, 0x000000001, -0x000002711, -0x000002712, 0x000000000, true);
	testInt64Binary(0x000000001, -0x07fffffff, -0x07ffffffe, 0x080000000, -0x07fffffff, 0x000000000, 0x000000001, 0x000000001, -0x07fffffff, -0x080000000, 0x000000000, true);
	testInt64Binary(0x000000001, -0x080000000, -0x07fffffff, 0x080000001, -0x080000000, 0x000000000, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000001, true);
	testInt64Binary(0x000000001, -0x080000001, -0x080000000, 0x080000002, -0x080000001, 0x000000000, 0x000000001, 0x000000001, -0x080000001, -0x080000002, 0x000000000, true);
	testInt64Binary(0x000000001, -0x0c0000000, -0x0bfffffff, 0x0c0000001, -0x0c0000000, 0x000000000, 0x000000001, 0x000000000, -0x0bfffffff, -0x0bfffffff, 0x000000001, true);
	testInt64Binary(0x000000001, -0x100000000, -0x0ffffffff, 0x100000001, -0x100000000, 0x000000000, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000001, true);
	testInt64Binary(0x000000001, -0x0ffffffff, -0x0fffffffe, 0x100000000, -0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, -0x0ffffffff, -0x100000000, 0x000000000, true);
	testInt64Binary(0x000000001, -0x200000000, -0x1ffffffff, 0x200000001, -0x200000000, 0x000000000, 0x000000001, 0x000000000, -0x1ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64Binary(0x000000001, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000000001, true);
	testInt64Binary(0x000000001, -0x7fffffffffffffff, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, true);
	testInt64Binary(0x000000001, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000001, true);
	testInt64Binary(0x000000001, -0x789abcdd0fedcbaa, -0x789abcdd0fedcba9, 0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, 0x000000000, 0x000000001, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, 0x000000001, true);
	testInt64Shift(0x000000001, 0x000000000, 0x000000001, 0x000000001);
	testInt64Shift(0x000000001, 0x000000001, 0x000000002, 0x000000000);
	testInt64Shift(0x000000001, 0x000000002, 0x000000004, 0x000000000);
	testInt64Shift(0x000000001, 0x000000003, 0x000000008, 0x000000000);
	testInt64Shift(0x000000001, 0x00000000f, 0x000008000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000010, 0x000010000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000011, 0x000020000, 0x000000000);
	testInt64Shift(0x000000001, 0x00000001f, 0x080000000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000020, 0x100000000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000021, 0x200000000, 0x000000000);
	testInt64Shift(0x000000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test2() {
	testInt64Unary(0x000000002, 0x000000002, -0x000000003, -0x000000002);
	testInt64Binary(0x000000002, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testInt64Binary(0x000000002, 0x000000001, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testInt64Binary(0x000000002, 0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testInt64Binary(0x000000002, 0x000000003, 0x000000005, -0x000000001, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testInt64Binary(0x000000002, 0x000000064, 0x000000066, -0x000000062, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testInt64Binary(0x000000002, 0x000002711, 0x000002713, -0x00000270f, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testInt64Binary(0x000000002, 0x07fffffff, 0x080000001, -0x07ffffffd, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testInt64Binary(0x000000002, 0x080000000, 0x080000002, -0x07ffffffe, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testInt64Binary(0x000000002, 0x080000001, 0x080000003, -0x07fffffff, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testInt64Binary(0x000000002, 0x0c0000000, 0x0c0000002, -0x0bffffffe, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testInt64Binary(0x000000002, 0x0ffffffff, 0x100000001, -0x0fffffffd, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testInt64Binary(0x000000002, 0x100000000, 0x100000002, -0x0fffffffe, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testInt64Binary(0x000000002, 0x100000001, 0x100000003, -0x0ffffffff, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testInt64Binary(0x000000002, 0x200000000, 0x200000002, -0x1fffffffe, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testInt64Binary(0x000000002, 0x7fffffffffffd8f0, 0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testInt64Binary(0x000000002, 0x7fffffffffffffff, -0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64Binary(0x000000002, 0x789abcdef0123456, 0x789abcdef0123458, -0x789abcdef0123454, -0xeca86421fdb9754, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testInt64Binary(0x000000002, -0x000000001, 0x000000001, 0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000002, -0x000000001, -0x000000003, 0x000000000, true);
	testInt64Binary(0x000000002, -0x000000002, 0x000000000, 0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, 0x000000000, true);
	testInt64Binary(0x000000002, -0x000000003, -0x000000001, 0x000000005, -0x000000006, 0x000000000, 0x000000002, 0x000000000, -0x000000001, -0x000000001, 0x000000002, true);
	testInt64Binary(0x000000002, -0x000000064, -0x000000062, 0x000000066, -0x0000000c8, 0x000000000, 0x000000002, 0x000000000, -0x000000062, -0x000000062, 0x000000002, true);
	testInt64Binary(0x000000002, -0x000002711, -0x00000270f, 0x000002713, -0x000004e22, 0x000000000, 0x000000002, 0x000000002, -0x000002711, -0x000002713, 0x000000000, true);
	testInt64Binary(0x000000002, -0x07fffffff, -0x07ffffffd, 0x080000001, -0x0fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000002, true);
	testInt64Binary(0x000000002, -0x080000000, -0x07ffffffe, 0x080000002, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffe, -0x07ffffffe, 0x000000002, true);
	testInt64Binary(0x000000002, -0x080000001, -0x07fffffff, 0x080000003, -0x100000002, 0x000000000, 0x000000002, 0x000000002, -0x080000001, -0x080000003, 0x000000000, true);
	testInt64Binary(0x000000002, -0x0c0000000, -0x0bffffffe, 0x0c0000002, -0x180000000, 0x000000000, 0x000000002, 0x000000000, -0x0bffffffe, -0x0bffffffe, 0x000000002, true);
	testInt64Binary(0x000000002, -0x100000000, -0x0fffffffe, 0x100000002, -0x200000000, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffe, -0x0fffffffe, 0x000000002, true);
	testInt64Binary(0x000000002, -0x0ffffffff, -0x0fffffffd, 0x100000001, -0x1fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000002, true);
	testInt64Binary(0x000000002, -0x200000000, -0x1fffffffe, 0x200000002, -0x400000000, 0x000000000, 0x000000002, 0x000000000, -0x1fffffffe, -0x1fffffffe, 0x000000002, true);
	testInt64Binary(0x000000002, -0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, 0x000000000, 0x000000002, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, 0x000000002, true);
	testInt64Binary(0x000000002, -0x7fffffffffffffff, -0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000002, true);
	testInt64Binary(0x000000002, -0x8000000000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64Binary(0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcba8, 0x789abcdd0fedcbac, 0xeca8645e02468ac, 0x000000000, 0x000000002, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, 0x000000000, true);
	testInt64Shift(0x000000002, 0x000000000, 0x000000002, 0x000000002);
	testInt64Shift(0x000000002, 0x000000001, 0x000000004, 0x000000001);
	testInt64Shift(0x000000002, 0x000000002, 0x000000008, 0x000000000);
	testInt64Shift(0x000000002, 0x000000003, 0x000000010, 0x000000000);
	testInt64Shift(0x000000002, 0x00000000f, 0x000010000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000010, 0x000020000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000011, 0x000040000, 0x000000000);
	testInt64Shift(0x000000002, 0x00000001f, 0x100000000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000020, 0x200000000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000021, 0x400000000, 0x000000000);
	testInt64Shift(0x000000002, 0x00000003d, 0x4000000000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x00000003e, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000002, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test3() {
	testInt64Unary(0x000000003, 0x000000003, -0x000000004, -0x000000003);
	testInt64Binary(0x000000003, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testInt64Binary(0x000000003, 0x000000001, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testInt64Binary(0x000000003, 0x000000002, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testInt64Binary(0x000000003, 0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testInt64Binary(0x000000003, 0x000000064, 0x000000067, -0x000000061, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testInt64Binary(0x000000003, 0x000002711, 0x000002714, -0x00000270e, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testInt64Binary(0x000000003, 0x07fffffff, 0x080000002, -0x07ffffffc, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testInt64Binary(0x000000003, 0x080000000, 0x080000003, -0x07ffffffd, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testInt64Binary(0x000000003, 0x080000001, 0x080000004, -0x07ffffffe, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testInt64Binary(0x000000003, 0x0c0000000, 0x0c0000003, -0x0bffffffd, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testInt64Binary(0x000000003, 0x0ffffffff, 0x100000002, -0x0fffffffc, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testInt64Binary(0x000000003, 0x100000000, 0x100000003, -0x0fffffffd, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testInt64Binary(0x000000003, 0x100000001, 0x100000004, -0x0fffffffe, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testInt64Binary(0x000000003, 0x200000000, 0x200000003, -0x1fffffffd, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testInt64Binary(0x000000003, 0x7fffffffffffd8f0, 0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testInt64Binary(0x000000003, 0x7fffffffffffffff, -0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64Binary(0x000000003, 0x789abcdef0123456, 0x789abcdef0123459, -0x789abcdef0123453, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testInt64Binary(0x000000003, -0x000000001, 0x000000002, 0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000003, -0x000000001, -0x000000004, 0x000000000, true);
	testInt64Binary(0x000000003, -0x000000002, 0x000000001, 0x000000005, -0x000000006, -0x000000001, 0x000000001, 0x000000002, -0x000000001, -0x000000003, 0x000000001, true);
	testInt64Binary(0x000000003, -0x000000003, 0x000000000, 0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000002, true);
	testInt64Binary(0x000000003, -0x000000064, -0x000000061, 0x000000067, -0x00000012c, 0x000000000, 0x000000003, 0x000000000, -0x000000061, -0x000000061, 0x000000003, true);
	testInt64Binary(0x000000003, -0x000002711, -0x00000270e, 0x000002714, -0x000007533, 0x000000000, 0x000000003, 0x000000003, -0x000002711, -0x000002714, 0x000000000, true);
	testInt64Binary(0x000000003, -0x07fffffff, -0x07ffffffc, 0x080000002, -0x17ffffffd, 0x000000000, 0x000000003, 0x000000001, -0x07ffffffd, -0x07ffffffe, 0x000000002, true);
	testInt64Binary(0x000000003, -0x080000000, -0x07ffffffd, 0x080000003, -0x180000000, 0x000000000, 0x000000003, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000003, true);
	testInt64Binary(0x000000003, -0x080000001, -0x07ffffffe, 0x080000004, -0x180000003, 0x000000000, 0x000000003, 0x000000003, -0x080000001, -0x080000004, 0x000000000, true);
	testInt64Binary(0x000000003, -0x0c0000000, -0x0bffffffd, 0x0c0000003, -0x240000000, 0x000000000, 0x000000003, 0x000000000, -0x0bffffffd, -0x0bffffffd, 0x000000003, true);
	testInt64Binary(0x000000003, -0x100000000, -0x0fffffffd, 0x100000003, -0x300000000, 0x000000000, 0x000000003, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000003, true);
	testInt64Binary(0x000000003, -0x0ffffffff, -0x0fffffffc, 0x100000002, -0x2fffffffd, 0x000000000, 0x000000003, 0x000000001, -0x0fffffffd, -0x0fffffffe, 0x000000002, true);
	testInt64Binary(0x000000003, -0x200000000, -0x1fffffffd, 0x200000003, -0x600000000, 0x000000000, 0x000000003, 0x000000000, -0x1fffffffd, -0x1fffffffd, 0x000000003, true);
	testInt64Binary(0x000000003, -0x7fffffffffffd8f0, -0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, 0x000000003, true);
	testInt64Binary(0x000000003, -0x7fffffffffffffff, -0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64Binary(0x000000003, -0x8000000000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, 0x000000003, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000003, true);
	testInt64Binary(0x000000003, -0x789abcdd0fedcbaa, -0x789abcdd0fedcba7, 0x789abcdd0fedcbad, -0x69d036972fc962fe, 0x000000000, 0x000000003, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, 0x000000001, true);
	testInt64Shift(0x000000003, 0x000000000, 0x000000003, 0x000000003);
	testInt64Shift(0x000000003, 0x000000001, 0x000000006, 0x000000001);
	testInt64Shift(0x000000003, 0x000000002, 0x00000000c, 0x000000000);
	testInt64Shift(0x000000003, 0x000000003, 0x000000018, 0x000000000);
	testInt64Shift(0x000000003, 0x00000000f, 0x000018000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000010, 0x000030000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000011, 0x000060000, 0x000000000);
	testInt64Shift(0x000000003, 0x00000001f, 0x180000000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000020, 0x300000000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000021, 0x600000000, 0x000000000);
	testInt64Shift(0x000000003, 0x00000003d, 0x6000000000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000003, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test4() {
	testInt64Unary(0x000000064, 0x000000064, -0x000000065, -0x000000064);
	testInt64Binary(0x000000064, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testInt64Binary(0x000000064, 0x000000001, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testInt64Binary(0x000000064, 0x000000002, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testInt64Binary(0x000000064, 0x000000003, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testInt64Binary(0x000000064, 0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testInt64Binary(0x000000064, 0x000002711, 0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testInt64Binary(0x000000064, 0x07fffffff, 0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testInt64Binary(0x000000064, 0x080000000, 0x080000064, -0x07fffff9c, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testInt64Binary(0x000000064, 0x080000001, 0x080000065, -0x07fffff9d, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testInt64Binary(0x000000064, 0x0c0000000, 0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testInt64Binary(0x000000064, 0x0ffffffff, 0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testInt64Binary(0x000000064, 0x100000000, 0x100000064, -0x0ffffff9c, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testInt64Binary(0x000000064, 0x100000001, 0x100000065, -0x0ffffff9d, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testInt64Binary(0x000000064, 0x200000000, 0x200000064, -0x1ffffff9c, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testInt64Binary(0x000000064, 0x7fffffffffffd8f0, 0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testInt64Binary(0x000000064, 0x7fffffffffffffff, -0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testInt64Binary(0x000000064, 0x789abcdef0123456, 0x789abcdef01234ba, -0x789abcdef01233f2, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testInt64Binary(0x000000064, -0x000000001, 0x000000063, 0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000064, -0x000000001, -0x000000065, 0x000000000, true);
	testInt64Binary(0x000000064, -0x000000002, 0x000000062, 0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000064, -0x000000002, -0x000000066, 0x000000000, true);
	testInt64Binary(0x000000064, -0x000000003, 0x000000061, 0x000000067, -0x00000012c, -0x000000021, 0x000000001, 0x000000064, -0x000000003, -0x000000067, 0x000000000, true);
	testInt64Binary(0x000000064, -0x000000064, 0x000000000, 0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, 0x000000060, true);
	testInt64Binary(0x000000064, -0x000002711, -0x0000026ad, 0x000002775, -0x0000f42a4, 0x000000000, 0x000000064, 0x000000064, -0x000002711, -0x000002775, 0x000000000, true);
	testInt64Binary(0x000000064, -0x07fffffff, -0x07fffff9b, 0x080000063, -0x31ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9b, -0x07fffff9b, 0x000000064, true);
	testInt64Binary(0x000000064, -0x080000000, -0x07fffff9c, 0x080000064, -0x3200000000, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9c, -0x07fffff9c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x080000001, -0x07fffff9d, 0x080000065, -0x3200000064, 0x000000000, 0x000000064, 0x000000064, -0x080000001, -0x080000065, 0x000000000, true);
	testInt64Binary(0x000000064, -0x0c0000000, -0x0bfffff9c, 0x0c0000064, -0x4b00000000, 0x000000000, 0x000000064, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x100000000, -0x0ffffff9c, 0x100000064, -0x6400000000, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x0ffffffff, -0x0ffffff9b, 0x100000063, -0x63ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, 0x000000064, true);
	testInt64Binary(0x000000064, -0x200000000, -0x1ffffff9c, 0x200000064, -0xc800000000, 0x000000000, 0x000000064, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x7fffffffffffd8f0, -0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x7fffffffffffffff, -0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, 0x000000064, true);
	testInt64Binary(0x000000064, -0x8000000000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000064, true);
	testInt64Binary(0x000000064, -0x789abcdd0fedcbaa, -0x789abcdd0fedcb46, 0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, 0x000000000, 0x000000064, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, 0x000000020, true);
	testInt64Shift(0x000000064, 0x000000000, 0x000000064, 0x000000064);
	testInt64Shift(0x000000064, 0x000000001, 0x0000000c8, 0x000000032);
	testInt64Shift(0x000000064, 0x000000002, 0x000000190, 0x000000019);
	testInt64Shift(0x000000064, 0x000000003, 0x000000320, 0x00000000c);
	testInt64Shift(0x000000064, 0x00000000f, 0x000320000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000010, 0x000640000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000011, 0x000c80000, 0x000000000);
	testInt64Shift(0x000000064, 0x00000001f, 0x3200000000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000020, 0x6400000000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000021, 0xc800000000, 0x000000000);
	testInt64Shift(0x000000064, 0x00000003d, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000000064, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test5() {
	testInt64Unary(0x000002711, 0x000002711, -0x000002712, -0x000002711);
	testInt64Binary(0x000002711, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testInt64Binary(0x000002711, 0x000000001, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testInt64Binary(0x000002711, 0x000000002, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testInt64Binary(0x000002711, 0x000000003, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testInt64Binary(0x000002711, 0x000000064, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testInt64Binary(0x000002711, 0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testInt64Binary(0x000002711, 0x07fffffff, 0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testInt64Binary(0x000002711, 0x080000000, 0x080002711, -0x07fffd8ef, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testInt64Binary(0x000002711, 0x080000001, 0x080002712, -0x07fffd8f0, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testInt64Binary(0x000002711, 0x0c0000000, 0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testInt64Binary(0x000002711, 0x0ffffffff, 0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testInt64Binary(0x000002711, 0x100000000, 0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testInt64Binary(0x000002711, 0x100000001, 0x100002712, -0x0ffffd8f0, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testInt64Binary(0x000002711, 0x200000000, 0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testInt64Binary(0x000002711, 0x7fffffffffffd8f0, -0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testInt64Binary(0x000002711, 0x7fffffffffffffff, -0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64Binary(0x000002711, 0x789abcdef0123456, 0x789abcdef0125b67, -0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testInt64Binary(0x000002711, -0x000000001, 0x000002710, 0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000002711, -0x000000001, -0x000002712, 0x000000000, true);
	testInt64Binary(0x000002711, -0x000000002, 0x00000270f, 0x000002713, -0x000004e22, -0x000001388, 0x000000001, 0x000002710, -0x000000001, -0x000002711, 0x000000001, true);
	testInt64Binary(0x000002711, -0x000000003, 0x00000270e, 0x000002714, -0x000007533, -0x000000d05, 0x000000002, 0x000002711, -0x000000003, -0x000002714, 0x000000000, true);
	testInt64Binary(0x000002711, -0x000000064, 0x0000026ad, 0x000002775, -0x0000f42a4, -0x000000064, 0x000000001, 0x000002710, -0x000000063, -0x000002773, 0x000000001, true);
	testInt64Binary(0x000002711, -0x000002711, 0x000000000, 0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000002710, true);
	testInt64Binary(0x000002711, -0x07fffffff, -0x07fffd8ee, 0x080002710, -0x13887fffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, 0x000002710, true);
	testInt64Binary(0x000002711, -0x080000000, -0x07fffd8ef, 0x080002711, -0x138880000000, 0x000000000, 0x000002711, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, 0x000002711, true);
	testInt64Binary(0x000002711, -0x080000001, -0x07fffd8f0, 0x080002712, -0x138880002711, 0x000000000, 0x000002711, 0x000002711, -0x080000001, -0x080002712, 0x000000000, true);
	testInt64Binary(0x000002711, -0x0c0000000, -0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, 0x000002711, true);
	testInt64Binary(0x000002711, -0x100000000, -0x0ffffd8ef, 0x100002711, -0x271100000000, 0x000000000, 0x000002711, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, 0x000002711, true);
	testInt64Binary(0x000002711, -0x0ffffffff, -0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, 0x000002710, true);
	testInt64Binary(0x000002711, -0x200000000, -0x1ffffd8ef, 0x200002711, -0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, 0x000002711, true);
	testInt64Binary(0x000002711, -0x7fffffffffffd8f0, -0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, 0x000000001, true);
	testInt64Binary(0x000002711, -0x7fffffffffffffff, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64Binary(0x000002711, -0x8000000000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, 0x000002711, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000002711, true);
	testInt64Binary(0x000002711, -0x789abcdd0fedcbaa, -0x789abcdd0feda499, 0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, 0x000000000, 0x000002711, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, 0x000000301, true);
	testInt64Shift(0x000002711, 0x000000000, 0x000002711, 0x000002711);
	testInt64Shift(0x000002711, 0x000000001, 0x000004e22, 0x000001388);
	testInt64Shift(0x000002711, 0x000000002, 0x000009c44, 0x0000009c4);
	testInt64Shift(0x000002711, 0x000000003, 0x000013888, 0x0000004e2);
	testInt64Shift(0x000002711, 0x00000000f, 0x013888000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000010, 0x027110000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000011, 0x04e220000, 0x000000000);
	testInt64Shift(0x000002711, 0x00000001f, 0x138880000000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000020, 0x271100000000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000021, 0x4e2200000000, 0x000000000);
	testInt64Shift(0x000002711, 0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x000002711, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test6() {
	testInt64Unary(0x07fffffff, 0x07fffffff, -0x080000000, -0x07fffffff);
	testInt64Binary(0x07fffffff, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testInt64Binary(0x07fffffff, 0x000000001, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, 0x000000002, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testInt64Binary(0x07fffffff, 0x000000003, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testInt64Binary(0x07fffffff, 0x000000064, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testInt64Binary(0x07fffffff, 0x000002711, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64Binary(0x07fffffff, 0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(0x07fffffff, 0x080000000, 0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, 0x080000001, 0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, 0x0c0000000, 0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testInt64Binary(0x07fffffff, 0x0ffffffff, 0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testInt64Binary(0x07fffffff, 0x100000000, 0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, 0x100000001, 0x180000000, -0x080000002, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, 0x200000000, 0x27fffffff, -0x180000001, -0x200000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, 0x7fffffffffffd8f0, -0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testInt64Binary(0x07fffffff, 0x7fffffffffffffff, -0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64Binary(0x07fffffff, 0x789abcdef0123456, 0x789abcdf70123455, -0x789abcde70123457, -0x91a2b3f0123456, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testInt64Binary(0x07fffffff, -0x000000001, 0x07ffffffe, 0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x07fffffff, -0x000000001, -0x080000000, 0x000000000, true);
	testInt64Binary(0x07fffffff, -0x000000002, 0x07ffffffd, 0x080000001, -0x0fffffffe, -0x03fffffff, 0x000000001, 0x07ffffffe, -0x000000001, -0x07fffffff, 0x000000001, true);
	testInt64Binary(0x07fffffff, -0x000000003, 0x07ffffffc, 0x080000002, -0x17ffffffd, -0x02aaaaaaa, 0x000000001, 0x07ffffffd, -0x000000001, -0x07ffffffe, 0x000000002, true);
	testInt64Binary(0x07fffffff, -0x000000064, 0x07fffff9b, 0x080000063, -0x31ffffff9c, -0x00147ae14, 0x00000002f, 0x07fffff9c, -0x000000001, -0x07fffff9d, 0x000000063, true);
	testInt64Binary(0x07fffffff, -0x000002711, 0x07fffd8ee, 0x080002710, -0x13887fffd8ef, -0x0000346c6, 0x0000022d9, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, 0x000002710, true);
	testInt64Binary(0x07fffffff, -0x07fffffff, 0x000000000, 0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, -0x080000000, -0x000000001, 0x0ffffffff, -0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, -0x000000001, -0x000000001, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, -0x080000001, -0x000000002, 0x100000000, -0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x07fffffff, -0x080000001, -0x100000000, 0x000000000, true);
	testInt64Binary(0x07fffffff, -0x0c0000000, -0x040000001, 0x13fffffff, -0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, -0x080000001, -0x0c0000001, 0x03fffffff, true);
	testInt64Binary(0x07fffffff, -0x100000000, -0x080000001, 0x17fffffff, -0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, -0x080000001, -0x080000001, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, -0x0ffffffff, -0x080000000, 0x17ffffffe, -0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x080000001, -0x080000002, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, -0x200000000, -0x180000001, 0x27fffffff, 0x200000000, 0x000000000, 0x07fffffff, 0x000000000, -0x180000001, -0x180000001, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, -0x7fffffffffffd8f0, -0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, 0x07fffd8ef, true);
	testInt64Binary(0x07fffffff, -0x7fffffffffffffff, -0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64Binary(0x07fffffff, -0x8000000000000000, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x000000000, 0x07fffffff, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64Binary(0x07fffffff, -0x789abcdd0fedcbaa, -0x789abcdc8fedcbab, 0x789abcdd8fedcba9, -0xf5c28f7f0123456, 0x000000000, 0x07fffffff, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, 0x00fedcba9, true);
	testInt64Shift(0x07fffffff, 0x000000000, 0x07fffffff, 0x07fffffff);
	testInt64Shift(0x07fffffff, 0x000000001, 0x0fffffffe, 0x03fffffff);
	testInt64Shift(0x07fffffff, 0x000000002, 0x1fffffffc, 0x01fffffff);
	testInt64Shift(0x07fffffff, 0x000000003, 0x3fffffff8, 0x00fffffff);
	testInt64Shift(0x07fffffff, 0x00000000f, 0x3fffffff8000, 0x00000ffff);
	testInt64Shift(0x07fffffff, 0x000000010, 0x7fffffff0000, 0x000007fff);
	testInt64Shift(0x07fffffff, 0x000000011, 0xfffffffe0000, 0x000003fff);
	testInt64Shift(0x07fffffff, 0x00000001f, 0x3fffffff80000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x000000020, 0x7fffffff00000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x000000021, -0x200000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x00000003d, -0x2000000000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x07fffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test7() {
	testInt64Unary(0x080000000, 0x080000000, -0x080000001, -0x080000000);
	testInt64Binary(0x080000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testInt64Binary(0x080000000, 0x000000001, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testInt64Binary(0x080000000, 0x000000002, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testInt64Binary(0x080000000, 0x000000003, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testInt64Binary(0x080000000, 0x000000064, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testInt64Binary(0x080000000, 0x000002711, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testInt64Binary(0x080000000, 0x07fffffff, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testInt64Binary(0x080000000, 0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testInt64Binary(0x080000000, 0x080000001, 0x100000001, -0x000000001, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testInt64Binary(0x080000000, 0x0c0000000, 0x140000000, -0x040000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64Binary(0x080000000, 0x0ffffffff, 0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testInt64Binary(0x080000000, 0x100000000, 0x180000000, -0x080000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testInt64Binary(0x080000000, 0x100000001, 0x180000001, -0x080000001, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testInt64Binary(0x080000000, 0x200000000, 0x280000000, -0x180000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testInt64Binary(0x080000000, 0x7fffffffffffd8f0, -0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testInt64Binary(0x080000000, 0x7fffffffffffffff, -0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64Binary(0x080000000, 0x789abcdef0123456, 0x789abcdf70123456, -0x789abcde70123456, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testInt64Binary(0x080000000, -0x000000001, 0x07fffffff, 0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x080000000, -0x000000001, -0x080000001, 0x000000000, true);
	testInt64Binary(0x080000000, -0x000000002, 0x07ffffffe, 0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x080000000, -0x000000002, -0x080000002, 0x000000000, true);
	testInt64Binary(0x080000000, -0x000000003, 0x07ffffffd, 0x080000003, -0x180000000, -0x02aaaaaaa, 0x000000002, 0x080000000, -0x000000003, -0x080000003, 0x000000000, true);
	testInt64Binary(0x080000000, -0x000000064, 0x07fffff9c, 0x080000064, -0x3200000000, -0x00147ae14, 0x000000030, 0x080000000, -0x000000064, -0x080000064, 0x000000000, true);
	testInt64Binary(0x080000000, -0x000002711, 0x07fffd8ef, 0x080002711, -0x138880000000, -0x0000346c6, 0x0000022da, 0x080000000, -0x000002711, -0x080002711, 0x000000000, true);
	testInt64Binary(0x080000000, -0x07fffffff, 0x000000001, 0x0ffffffff, -0x3fffffff80000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000000, true);
	testInt64Binary(0x080000000, -0x080000000, 0x000000000, 0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, 0x000000000, true);
	testInt64Binary(0x080000000, -0x080000001, -0x000000001, 0x100000001, -0x4000000080000000, 0x000000000, 0x080000000, 0x000000000, -0x000000001, -0x000000001, 0x080000000, true);
	testInt64Binary(0x080000000, -0x0c0000000, -0x040000000, 0x140000000, -0x6000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x040000000, -0x040000000, 0x080000000, true);
	testInt64Binary(0x080000000, -0x100000000, -0x080000000, 0x180000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x080000000, -0x080000000, 0x080000000, true);
	testInt64Binary(0x080000000, -0x0ffffffff, -0x07fffffff, 0x17fffffff, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000000, true);
	testInt64Binary(0x080000000, -0x200000000, -0x180000000, 0x280000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x180000000, -0x180000000, 0x080000000, true);
	testInt64Binary(0x080000000, -0x7fffffffffffd8f0, -0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, 0x080000000, true);
	testInt64Binary(0x080000000, -0x7fffffffffffffff, -0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000000, true);
	testInt64Binary(0x080000000, -0x8000000000000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x080000000, true);
	testInt64Binary(0x080000000, -0x789abcdd0fedcbaa, -0x789abcdc8fedcbaa, 0x789abcdd8fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, 0x000000000, true);
	testInt64Shift(0x080000000, 0x000000000, 0x080000000, 0x080000000);
	testInt64Shift(0x080000000, 0x000000001, 0x100000000, 0x040000000);
	testInt64Shift(0x080000000, 0x000000002, 0x200000000, 0x020000000);
	testInt64Shift(0x080000000, 0x000000003, 0x400000000, 0x010000000);
	testInt64Shift(0x080000000, 0x00000000f, 0x400000000000, 0x000010000);
	testInt64Shift(0x080000000, 0x000000010, 0x800000000000, 0x000008000);
	testInt64Shift(0x080000000, 0x000000011, 0x1000000000000, 0x000004000);
	testInt64Shift(0x080000000, 0x00000001f, 0x4000000000000000, 0x000000001);
	testInt64Shift(0x080000000, 0x000000020, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x000000021, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x00000003d, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test8() {
	testInt64Unary(0x080000001, 0x080000001, -0x080000002, -0x080000001);
	testInt64Binary(0x080000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testInt64Binary(0x080000001, 0x000000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testInt64Binary(0x080000001, 0x000000002, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testInt64Binary(0x080000001, 0x000000003, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testInt64Binary(0x080000001, 0x000000064, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testInt64Binary(0x080000001, 0x000002711, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testInt64Binary(0x080000001, 0x07fffffff, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testInt64Binary(0x080000001, 0x080000000, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testInt64Binary(0x080000001, 0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testInt64Binary(0x080000001, 0x0c0000000, 0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testInt64Binary(0x080000001, 0x0ffffffff, 0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testInt64Binary(0x080000001, 0x100000000, 0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testInt64Binary(0x080000001, 0x100000001, 0x180000002, -0x080000000, -0x7ffffffe7fffffff, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testInt64Binary(0x080000001, 0x200000000, 0x280000001, -0x17fffffff, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testInt64Binary(0x080000001, 0x7fffffffffffd8f0, -0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testInt64Binary(0x080000001, 0x7fffffffffffffff, -0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64Binary(0x080000001, 0x789abcdef0123456, 0x789abcdf70123457, -0x789abcde70123455, -0xf5c28f60fedcbaa, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testInt64Binary(0x080000001, -0x000000001, 0x080000000, 0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x080000001, -0x000000001, -0x080000002, 0x000000000, true);
	testInt64Binary(0x080000001, -0x000000002, 0x07fffffff, 0x080000003, -0x100000002, -0x040000000, 0x000000001, 0x080000000, -0x000000001, -0x080000001, 0x000000001, true);
	testInt64Binary(0x080000001, -0x000000003, 0x07ffffffe, 0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x080000001, -0x000000003, -0x080000004, 0x000000000, true);
	testInt64Binary(0x080000001, -0x000000064, 0x07fffff9d, 0x080000065, -0x3200000064, -0x00147ae14, 0x000000031, 0x080000000, -0x000000063, -0x080000063, 0x000000001, true);
	testInt64Binary(0x080000001, -0x000002711, 0x07fffd8f0, 0x080002712, -0x138880002711, -0x0000346c6, 0x0000022db, 0x080000001, -0x000002711, -0x080002712, 0x000000000, true);
	testInt64Binary(0x080000001, -0x07fffffff, 0x000000002, 0x100000000, -0x3fffffffffffffff, -0x000000001, 0x000000002, 0x080000001, -0x07fffffff, -0x100000000, 0x000000000, true);
	testInt64Binary(0x080000001, -0x080000000, 0x000000001, 0x100000001, -0x4000000080000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000001, true);
	testInt64Binary(0x080000001, -0x080000001, 0x000000000, 0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x080000000, true);
	testInt64Binary(0x080000001, -0x0c0000000, -0x03fffffff, 0x140000001, -0x60000000c0000000, 0x000000000, 0x080000001, 0x000000000, -0x03fffffff, -0x03fffffff, 0x080000001, true);
	testInt64Binary(0x080000001, -0x100000000, -0x07fffffff, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000001, true);
	testInt64Binary(0x080000001, -0x0ffffffff, -0x07ffffffe, 0x180000000, 0x7fffffff80000001, 0x000000000, 0x080000001, 0x000000001, -0x07fffffff, -0x080000000, 0x080000000, true);
	testInt64Binary(0x080000001, -0x200000000, -0x17fffffff, 0x280000001, -0x200000000, 0x000000000, 0x080000001, 0x000000000, -0x17fffffff, -0x17fffffff, 0x080000001, true);
	testInt64Binary(0x080000001, -0x7fffffffffffd8f0, -0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, 0x080000001, true);
	testInt64Binary(0x080000001, -0x7fffffffffffffff, -0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, 0x080000000, true);
	testInt64Binary(0x080000001, -0x8000000000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000001, true);
	testInt64Binary(0x080000001, -0x789abcdd0fedcbaa, -0x789abcdc8fedcba9, 0x789abcdd8fedcbab, -0x91a2b20fedcbaa, 0x000000000, 0x080000001, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, 0x000000001, true);
	testInt64Shift(0x080000001, 0x000000000, 0x080000001, 0x080000001);
	testInt64Shift(0x080000001, 0x000000001, 0x100000002, 0x040000000);
	testInt64Shift(0x080000001, 0x000000002, 0x200000004, 0x020000000);
	testInt64Shift(0x080000001, 0x000000003, 0x400000008, 0x010000000);
	testInt64Shift(0x080000001, 0x00000000f, 0x400000008000, 0x000010000);
	testInt64Shift(0x080000001, 0x000000010, 0x800000010000, 0x000008000);
	testInt64Shift(0x080000001, 0x000000011, 0x1000000020000, 0x000004000);
	testInt64Shift(0x080000001, 0x00000001f, 0x4000000080000000, 0x000000001);
	testInt64Shift(0x080000001, 0x000000020, -0x7fffffff00000000, 0x000000000);
	testInt64Shift(0x080000001, 0x000000021, 0x200000000, 0x000000000);
	testInt64Shift(0x080000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x080000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test9() {
	testInt64Unary(0x0c0000000, 0x0c0000000, -0x0c0000001, -0x0c0000000);
	testInt64Binary(0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testInt64Binary(0x0c0000000, 0x000000001, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x000000002, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x000000003, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x000000064, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x000002711, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x07fffffff, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testInt64Binary(0x0c0000000, 0x080000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64Binary(0x0c0000000, 0x080000001, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testInt64Binary(0x0c0000000, 0x0c0000000, 0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64Binary(0x0c0000000, 0x0ffffffff, 0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testInt64Binary(0x0c0000000, 0x100000000, 0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x100000001, 0x1c0000001, -0x040000001, -0x3fffffff40000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x200000000, 0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, 0x7fffffffffffd8f0, -0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testInt64Binary(0x0c0000000, 0x7fffffffffffffff, -0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testInt64Binary(0x0c0000000, 0x789abcdef0123456, 0x789abcdfb0123456, -0x789abcde30123456, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x000000001, 0x0bfffffff, 0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x0c0000000, -0x000000001, -0x0c0000001, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x000000002, 0x0bffffffe, 0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x0c0000000, -0x000000002, -0x0c0000002, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x000000003, 0x0bffffffd, 0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x0c0000000, -0x000000003, -0x0c0000003, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x000000064, 0x0bfffff9c, 0x0c0000064, -0x4b00000000, -0x001eb851e, 0x000000048, 0x0c0000000, -0x000000064, -0x0c0000064, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, 0x000000d36, 0x0c0000000, -0x000002711, -0x0c0002711, 0x000000000, true);
	testInt64Binary(0x0c0000000, -0x07fffffff, 0x040000001, 0x13fffffff, -0x5fffffff40000000, -0x000000001, 0x040000001, 0x080000000, -0x03fffffff, -0x0bfffffff, 0x040000000, true);
	testInt64Binary(0x0c0000000, -0x080000000, 0x040000000, 0x140000000, -0x6000000000000000, -0x000000001, 0x040000000, 0x080000000, -0x040000000, -0x0c0000000, 0x040000000, true);
	testInt64Binary(0x0c0000000, -0x080000001, 0x03fffffff, 0x140000001, -0x60000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x080000000, true);
	testInt64Binary(0x0c0000000, -0x0c0000000, 0x000000000, 0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, 0x080000000, true);
	testInt64Binary(0x0c0000000, -0x100000000, -0x040000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x040000000, -0x040000000, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x0ffffffff, -0x03fffffff, 0x1bfffffff, 0x40000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x03fffffff, -0x03fffffff, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x200000000, -0x140000000, 0x2c0000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x140000000, -0x140000000, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x7fffffffffffd8f0, -0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x7fffffffffffffff, -0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x8000000000000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x0c0000000, true);
	testInt64Binary(0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcdc4fedcbaa, 0x789abcddcfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, 0x000000000, true);
	testInt64Shift(0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000);
	testInt64Shift(0x0c0000000, 0x000000001, 0x180000000, 0x060000000);
	testInt64Shift(0x0c0000000, 0x000000002, 0x300000000, 0x030000000);
	testInt64Shift(0x0c0000000, 0x000000003, 0x600000000, 0x018000000);
	testInt64Shift(0x0c0000000, 0x00000000f, 0x600000000000, 0x000018000);
	testInt64Shift(0x0c0000000, 0x000000010, 0xc00000000000, 0x00000c000);
	testInt64Shift(0x0c0000000, 0x000000011, 0x1800000000000, 0x000006000);
	testInt64Shift(0x0c0000000, 0x00000001f, 0x6000000000000000, 0x000000001);
	testInt64Shift(0x0c0000000, 0x000000020, -0x4000000000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x000000021, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x00000003d, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0c0000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test10() {
	testInt64Unary(0x0ffffffff, 0x0ffffffff, -0x100000000, -0x0ffffffff);
	testInt64Binary(0x0ffffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testInt64Binary(0x0ffffffff, 0x000000001, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testInt64Binary(0x0ffffffff, 0x000000002, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testInt64Binary(0x0ffffffff, 0x000000003, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testInt64Binary(0x0ffffffff, 0x000000064, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testInt64Binary(0x0ffffffff, 0x000002711, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64Binary(0x0ffffffff, 0x07fffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testInt64Binary(0x0ffffffff, 0x080000000, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testInt64Binary(0x0ffffffff, 0x080000001, 0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64Binary(0x0ffffffff, 0x0c0000000, 0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testInt64Binary(0x0ffffffff, 0x0ffffffff, 0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(0x0ffffffff, 0x100000000, 0x1ffffffff, -0x000000001, -0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testInt64Binary(0x0ffffffff, 0x100000001, 0x200000000, -0x000000002, -0x000000001, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testInt64Binary(0x0ffffffff, 0x200000000, 0x2ffffffff, -0x100000001, -0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testInt64Binary(0x0ffffffff, 0x7fffffffffffd8f0, -0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testInt64Binary(0x0ffffffff, 0x7fffffffffffffff, -0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64Binary(0x0ffffffff, 0x789abcdef0123456, 0x789abcdff0123455, -0x789abcddf0123457, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testInt64Binary(0x0ffffffff, -0x000000001, 0x0fffffffe, 0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x0ffffffff, -0x000000001, -0x100000000, 0x000000000, true);
	testInt64Binary(0x0ffffffff, -0x000000002, 0x0fffffffd, 0x100000001, -0x1fffffffe, -0x07fffffff, 0x000000001, 0x0fffffffe, -0x000000001, -0x0ffffffff, 0x000000001, true);
	testInt64Binary(0x0ffffffff, -0x000000003, 0x0fffffffc, 0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x0fffffffd, -0x000000001, -0x0fffffffe, 0x000000002, true);
	testInt64Binary(0x0ffffffff, -0x000000064, 0x0ffffff9b, 0x100000063, -0x63ffffff9c, -0x0028f5c28, 0x00000005f, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, 0x000000063, true);
	testInt64Binary(0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, -0x000068d8d, 0x000001ea2, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, 0x000002710, true);
	testInt64Binary(0x0ffffffff, -0x07fffffff, 0x080000000, 0x17ffffffe, -0x7ffffffe80000001, -0x000000002, 0x000000001, 0x080000001, -0x000000001, -0x080000002, 0x07ffffffe, true);
	testInt64Binary(0x0ffffffff, -0x080000000, 0x07fffffff, 0x17fffffff, -0x7fffffff80000000, -0x000000001, 0x07fffffff, 0x080000000, -0x000000001, -0x080000001, 0x07fffffff, true);
	testInt64Binary(0x0ffffffff, -0x080000001, 0x07ffffffe, 0x180000000, 0x7fffffff80000001, -0x000000001, 0x07ffffffe, 0x07fffffff, -0x000000001, -0x080000000, 0x080000000, true);
	testInt64Binary(0x0ffffffff, -0x0c0000000, 0x03fffffff, 0x1bfffffff, 0x40000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x0bfffffff, true);
	testInt64Binary(0x0ffffffff, -0x100000000, -0x000000001, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x000000001, -0x000000001, 0x0ffffffff, true);
	testInt64Binary(0x0ffffffff, -0x0ffffffff, 0x000000000, 0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x0fffffffe, true);
	testInt64Binary(0x0ffffffff, -0x200000000, -0x100000001, 0x2ffffffff, 0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x100000001, -0x100000001, 0x0ffffffff, true);
	testInt64Binary(0x0ffffffff, -0x7fffffffffffd8f0, -0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, 0x0ffffd8ef, true);
	testInt64Binary(0x0ffffffff, -0x7fffffffffffffff, -0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64Binary(0x0ffffffff, -0x8000000000000000, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64Binary(0x0ffffffff, -0x789abcdd0fedcbaa, -0x789abcdc0fedcbab, 0x789abcde0fedcba9, 0x68acf1330fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, 0x00fedcba9, true);
	testInt64Shift(0x0ffffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff);
	testInt64Shift(0x0ffffffff, 0x000000001, 0x1fffffffe, 0x07fffffff);
	testInt64Shift(0x0ffffffff, 0x000000002, 0x3fffffffc, 0x03fffffff);
	testInt64Shift(0x0ffffffff, 0x000000003, 0x7fffffff8, 0x01fffffff);
	testInt64Shift(0x0ffffffff, 0x00000000f, 0x7fffffff8000, 0x00001ffff);
	testInt64Shift(0x0ffffffff, 0x000000010, 0xffffffff0000, 0x00000ffff);
	testInt64Shift(0x0ffffffff, 0x000000011, 0x1fffffffe0000, 0x000007fff);
	testInt64Shift(0x0ffffffff, 0x00000001f, 0x7fffffff80000000, 0x000000001);
	testInt64Shift(0x0ffffffff, 0x000000020, -0x100000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x000000021, -0x200000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x00000003d, -0x2000000000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x0ffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test11() {
	testInt64Unary(0x100000000, 0x100000000, -0x100000001, -0x100000000);
	testInt64Binary(0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testInt64Binary(0x100000000, 0x000000001, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testInt64Binary(0x100000000, 0x000000002, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testInt64Binary(0x100000000, 0x000000003, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testInt64Binary(0x100000000, 0x000000064, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testInt64Binary(0x100000000, 0x000002711, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testInt64Binary(0x100000000, 0x07fffffff, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testInt64Binary(0x100000000, 0x080000000, 0x180000000, 0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testInt64Binary(0x100000000, 0x080000001, 0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testInt64Binary(0x100000000, 0x0c0000000, 0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testInt64Binary(0x100000000, 0x0ffffffff, 0x1ffffffff, 0x000000001, -0x100000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testInt64Binary(0x100000000, 0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testInt64Binary(0x100000000, 0x100000001, 0x200000001, -0x000000001, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testInt64Binary(0x100000000, 0x200000000, 0x300000000, -0x100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testInt64Binary(0x100000000, 0x7fffffffffffd8f0, -0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testInt64Binary(0x100000000, 0x7fffffffffffffff, -0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testInt64Binary(0x100000000, 0x789abcdef0123456, 0x789abcdff0123456, -0x789abcddf0123456, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testInt64Binary(0x100000000, -0x000000001, 0x0ffffffff, 0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x100000000, -0x000000001, -0x100000001, 0x000000000, true);
	testInt64Binary(0x100000000, -0x000000002, 0x0fffffffe, 0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x100000000, -0x000000002, -0x100000002, 0x000000000, true);
	testInt64Binary(0x100000000, -0x000000003, 0x0fffffffd, 0x100000003, -0x300000000, -0x055555555, 0x000000001, 0x100000000, -0x000000003, -0x100000003, 0x000000000, true);
	testInt64Binary(0x100000000, -0x000000064, 0x0ffffff9c, 0x100000064, -0x6400000000, -0x0028f5c28, 0x000000060, 0x100000000, -0x000000064, -0x100000064, 0x000000000, true);
	testInt64Binary(0x100000000, -0x000002711, 0x0ffffd8ef, 0x100002711, -0x271100000000, -0x000068d8d, 0x000001ea3, 0x100000000, -0x000002711, -0x100002711, 0x000000000, true);
	testInt64Binary(0x100000000, -0x07fffffff, 0x080000001, 0x17fffffff, -0x7fffffff00000000, -0x000000002, 0x000000002, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000000, true);
	testInt64Binary(0x100000000, -0x080000000, 0x080000000, 0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x100000000, -0x080000000, -0x180000000, 0x000000000, true);
	testInt64Binary(0x100000000, -0x080000001, 0x07fffffff, 0x180000001, 0x7fffffff00000000, -0x000000001, 0x07fffffff, 0x100000000, -0x080000001, -0x180000001, 0x000000000, true);
	testInt64Binary(0x100000000, -0x0c0000000, 0x040000000, 0x1c0000000, 0x4000000000000000, -0x000000001, 0x040000000, 0x100000000, -0x0c0000000, -0x1c0000000, 0x000000000, true);
	testInt64Binary(0x100000000, -0x100000000, 0x000000000, 0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, 0x000000000, true);
	testInt64Binary(0x100000000, -0x0ffffffff, 0x000000001, 0x1ffffffff, 0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000000, true);
	testInt64Binary(0x100000000, -0x200000000, -0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x100000000, -0x100000000, 0x100000000, true);
	testInt64Binary(0x100000000, -0x7fffffffffffd8f0, -0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, 0x100000000, true);
	testInt64Binary(0x100000000, -0x7fffffffffffffff, -0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000000, true);
	testInt64Binary(0x100000000, -0x8000000000000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x100000000, true);
	testInt64Binary(0x100000000, -0x789abcdd0fedcbaa, -0x789abcdc0fedcbaa, 0x789abcde0fedcbaa, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, 0x100000000, true);
	testInt64Shift(0x100000000, 0x000000000, 0x100000000, 0x100000000);
	testInt64Shift(0x100000000, 0x000000001, 0x200000000, 0x080000000);
	testInt64Shift(0x100000000, 0x000000002, 0x400000000, 0x040000000);
	testInt64Shift(0x100000000, 0x000000003, 0x800000000, 0x020000000);
	testInt64Shift(0x100000000, 0x00000000f, 0x800000000000, 0x000020000);
	testInt64Shift(0x100000000, 0x000000010, 0x1000000000000, 0x000010000);
	testInt64Shift(0x100000000, 0x000000011, 0x2000000000000, 0x000008000);
	testInt64Shift(0x100000000, 0x00000001f, -0x8000000000000000, 0x000000002);
	testInt64Shift(0x100000000, 0x000000020, 0x000000000, 0x000000001);
	testInt64Shift(0x100000000, 0x000000021, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x00000003d, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test12() {
	testInt64Unary(0x100000001, 0x100000001, -0x100000002, -0x100000001);
	testInt64Binary(0x100000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testInt64Binary(0x100000001, 0x000000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testInt64Binary(0x100000001, 0x000000002, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testInt64Binary(0x100000001, 0x000000003, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testInt64Binary(0x100000001, 0x000000064, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testInt64Binary(0x100000001, 0x000002711, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testInt64Binary(0x100000001, 0x07fffffff, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testInt64Binary(0x100000001, 0x080000000, 0x180000001, 0x080000001, -0x7fffffff80000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testInt64Binary(0x100000001, 0x080000001, 0x180000002, 0x080000000, -0x7ffffffe7fffffff, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testInt64Binary(0x100000001, 0x0c0000000, 0x1c0000001, 0x040000001, -0x3fffffff40000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testInt64Binary(0x100000001, 0x0ffffffff, 0x200000000, 0x000000002, -0x000000001, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testInt64Binary(0x100000001, 0x100000000, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testInt64Binary(0x100000001, 0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testInt64Binary(0x100000001, 0x200000000, 0x300000001, -0x0ffffffff, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testInt64Binary(0x100000001, 0x7fffffffffffd8f0, -0x7fffffff0000270f, -0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testInt64Binary(0x100000001, 0x7fffffffffffffff, -0x7fffffff00000000, -0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testInt64Binary(0x100000001, 0x789abcdef0123456, 0x789abcdff0123457, -0x789abcddf0123455, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testInt64Binary(0x100000001, -0x000000001, 0x100000000, 0x100000002, -0x100000001, -0x100000001, 0x000000000, 0x100000001, -0x000000001, -0x100000002, 0x000000000, true);
	testInt64Binary(0x100000001, -0x000000002, 0x0ffffffff, 0x100000003, -0x200000002, -0x080000000, 0x000000001, 0x100000000, -0x000000001, -0x100000001, 0x000000001, true);
	testInt64Binary(0x100000001, -0x000000003, 0x0fffffffe, 0x100000004, -0x300000003, -0x055555555, 0x000000002, 0x100000001, -0x000000003, -0x100000004, 0x000000000, true);
	testInt64Binary(0x100000001, -0x000000064, 0x0ffffff9d, 0x100000065, -0x6400000064, -0x0028f5c28, 0x000000061, 0x100000000, -0x000000063, -0x100000063, 0x000000001, true);
	testInt64Binary(0x100000001, -0x000002711, 0x0ffffd8f0, 0x100002712, -0x271100002711, -0x000068d8d, 0x000001ea4, 0x100000001, -0x000002711, -0x100002712, 0x000000000, true);
	testInt64Binary(0x100000001, -0x07fffffff, 0x080000002, 0x180000000, -0x7fffffff7fffffff, -0x000000002, 0x000000003, 0x100000001, -0x07fffffff, -0x180000000, 0x000000000, true);
	testInt64Binary(0x100000001, -0x080000000, 0x080000001, 0x180000001, 0x7fffffff80000000, -0x000000002, 0x000000001, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000001, true);
	testInt64Binary(0x100000001, -0x080000001, 0x080000000, 0x180000002, 0x7ffffffe7fffffff, -0x000000001, 0x080000000, 0x100000001, -0x080000001, -0x180000002, 0x000000000, true);
	testInt64Binary(0x100000001, -0x0c0000000, 0x040000001, 0x1c0000001, 0x3fffffff40000000, -0x000000001, 0x040000001, 0x100000000, -0x0bfffffff, -0x1bfffffff, 0x000000001, true);
	testInt64Binary(0x100000001, -0x100000000, 0x000000001, 0x200000001, -0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64Binary(0x100000001, -0x0ffffffff, 0x000000002, 0x200000000, 0x000000001, -0x000000001, 0x000000002, 0x100000001, -0x0ffffffff, -0x200000000, 0x000000000, true);
	testInt64Binary(0x100000001, -0x200000000, -0x0ffffffff, 0x300000001, -0x200000000, 0x000000000, 0x100000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x100000001, true);
	testInt64Binary(0x100000001, -0x7fffffffffffd8f0, -0x7ffffffeffffd8ef, -0x7fffffff0000270f, -0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, 0x100000001, true);
	testInt64Binary(0x100000001, -0x7fffffffffffffff, -0x7ffffffefffffffe, -0x7fffffff00000000, -0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, 0x100000000, true);
	testInt64Binary(0x100000001, -0x8000000000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000001, true);
	testInt64Binary(0x100000001, -0x789abcdd0fedcbaa, -0x789abcdc0fedcba9, 0x789abcde0fedcbab, 0x77777778f0123456, 0x000000000, 0x100000001, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, 0x100000001, true);
	testInt64Shift(0x100000001, 0x000000000, 0x100000001, 0x100000001);
	testInt64Shift(0x100000001, 0x000000001, 0x200000002, 0x080000000);
	testInt64Shift(0x100000001, 0x000000002, 0x400000004, 0x040000000);
	testInt64Shift(0x100000001, 0x000000003, 0x800000008, 0x020000000);
	testInt64Shift(0x100000001, 0x00000000f, 0x800000008000, 0x000020000);
	testInt64Shift(0x100000001, 0x000000010, 0x1000000010000, 0x000010000);
	testInt64Shift(0x100000001, 0x000000011, 0x2000000020000, 0x000008000);
	testInt64Shift(0x100000001, 0x00000001f, -0x7fffffff80000000, 0x000000002);
	testInt64Shift(0x100000001, 0x000000020, 0x100000000, 0x000000001);
	testInt64Shift(0x100000001, 0x000000021, 0x200000000, 0x000000000);
	testInt64Shift(0x100000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x100000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test13() {
	testInt64Unary(0x200000000, 0x200000000, -0x200000001, -0x200000000);
	testInt64Binary(0x200000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testInt64Binary(0x200000000, 0x000000001, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testInt64Binary(0x200000000, 0x000000002, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testInt64Binary(0x200000000, 0x000000003, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testInt64Binary(0x200000000, 0x000000064, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testInt64Binary(0x200000000, 0x000002711, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testInt64Binary(0x200000000, 0x07fffffff, 0x27fffffff, 0x180000001, -0x200000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testInt64Binary(0x200000000, 0x080000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testInt64Binary(0x200000000, 0x080000001, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testInt64Binary(0x200000000, 0x0c0000000, 0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testInt64Binary(0x200000000, 0x0ffffffff, 0x2ffffffff, 0x100000001, -0x200000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testInt64Binary(0x200000000, 0x100000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testInt64Binary(0x200000000, 0x100000001, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testInt64Binary(0x200000000, 0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testInt64Binary(0x200000000, 0x7fffffffffffd8f0, -0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testInt64Binary(0x200000000, 0x7fffffffffffffff, -0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testInt64Binary(0x200000000, 0x789abcdef0123456, 0x789abce0f0123456, -0x789abcdcf0123456, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testInt64Binary(0x200000000, -0x000000001, 0x1ffffffff, 0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x200000000, -0x000000001, -0x200000001, 0x000000000, true);
	testInt64Binary(0x200000000, -0x000000002, 0x1fffffffe, 0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x200000000, -0x000000002, -0x200000002, 0x000000000, true);
	testInt64Binary(0x200000000, -0x000000003, 0x1fffffffd, 0x200000003, -0x600000000, -0x0aaaaaaaa, 0x000000002, 0x200000000, -0x000000003, -0x200000003, 0x000000000, true);
	testInt64Binary(0x200000000, -0x000000064, 0x1ffffff9c, 0x200000064, -0xc800000000, -0x0051eb851, 0x00000005c, 0x200000000, -0x000000064, -0x200000064, 0x000000000, true);
	testInt64Binary(0x200000000, -0x000002711, 0x1ffffd8ef, 0x200002711, -0x4e2200000000, -0x0000d1b1b, 0x000001635, 0x200000000, -0x000002711, -0x200002711, 0x000000000, true);
	testInt64Binary(0x200000000, -0x07fffffff, 0x180000001, 0x27fffffff, 0x200000000, -0x000000004, 0x000000004, 0x200000000, -0x07fffffff, -0x27fffffff, 0x000000000, true);
	testInt64Binary(0x200000000, -0x080000000, 0x180000000, 0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x200000000, -0x080000000, -0x280000000, 0x000000000, true);
	testInt64Binary(0x200000000, -0x080000001, 0x17fffffff, 0x280000001, -0x200000000, -0x000000003, 0x07ffffffd, 0x200000000, -0x080000001, -0x280000001, 0x000000000, true);
	testInt64Binary(0x200000000, -0x0c0000000, 0x140000000, 0x2c0000000, -0x8000000000000000, -0x000000002, 0x080000000, 0x200000000, -0x0c0000000, -0x2c0000000, 0x000000000, true);
	testInt64Binary(0x200000000, -0x100000000, 0x100000000, 0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x200000000, -0x100000000, -0x300000000, 0x000000000, true);
	testInt64Binary(0x200000000, -0x0ffffffff, 0x100000001, 0x2ffffffff, 0x200000000, -0x000000002, 0x000000002, 0x200000000, -0x0ffffffff, -0x2ffffffff, 0x000000000, true);
	testInt64Binary(0x200000000, -0x200000000, 0x000000000, 0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, 0x000000000, true);
	testInt64Binary(0x200000000, -0x7fffffffffffd8f0, -0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, 0x200000000, true);
	testInt64Binary(0x200000000, -0x7fffffffffffffff, -0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, 0x200000000, true);
	testInt64Binary(0x200000000, -0x8000000000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x200000000, true);
	testInt64Binary(0x200000000, -0x789abcdd0fedcbaa, -0x789abcdb0fedcbaa, 0x789abcdf0fedcbaa, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, 0x000000000, true);
	testInt64Shift(0x200000000, 0x000000000, 0x200000000, 0x200000000);
	testInt64Shift(0x200000000, 0x000000001, 0x400000000, 0x100000000);
	testInt64Shift(0x200000000, 0x000000002, 0x800000000, 0x080000000);
	testInt64Shift(0x200000000, 0x000000003, 0x1000000000, 0x040000000);
	testInt64Shift(0x200000000, 0x00000000f, 0x1000000000000, 0x000040000);
	testInt64Shift(0x200000000, 0x000000010, 0x2000000000000, 0x000020000);
	testInt64Shift(0x200000000, 0x000000011, 0x4000000000000, 0x000010000);
	testInt64Shift(0x200000000, 0x00000001f, 0x000000000, 0x000000004);
	testInt64Shift(0x200000000, 0x000000020, 0x000000000, 0x000000002);
	testInt64Shift(0x200000000, 0x000000021, 0x000000000, 0x000000001);
	testInt64Shift(0x200000000, 0x00000003d, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x00000003e, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x200000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test14() {
	testInt64Unary(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0);
	testInt64Binary(0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testInt64Binary(0x7fffffffffffd8f0, 0x000000001, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x000000002, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x000000003, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x000000064, 0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x000002711, -0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x07fffffff, -0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x080000000, -0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x080000001, -0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x0c0000000, -0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x0ffffffff, -0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x100000000, -0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x100000001, -0x7fffffff0000270f, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x200000000, -0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, -0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x7fffffffffffffff, -0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testInt64Binary(0x7fffffffffffd8f0, 0x789abcdef0123456, -0x76543210fedf2ba, 0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, 0x000000000, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, 0x000000000, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, 0x000000001, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, 0x000000000, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, 0x000000008, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, 0x000000060, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x000002711, 0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, 0x00000203b, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, 0x000000010, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x07fffffff, 0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, 0x07fffd8f1, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, 0x07fffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x080000000, 0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, -0x0ffffffff, 0x07fffd8f0, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, 0x07fffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, 0x07fffd8f3, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, 0x080000000, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x0c0000000, 0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, 0x07fffd8f0, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, 0x0bfffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x100000000, 0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, -0x07fffffff, 0x0ffffd8f0, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, 0x0ffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x0ffffffff, 0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, 0x07fffd8f0, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, 0x0ffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x200000000, 0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, 0x1ffffd8f0, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, 0x1ffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, -0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, 0x7fffffffffffd8e0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x7fffffffffffffff, -0x00000270f, -0x000002711, 0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x00000270f, -0x00000270f, 0x7fffffffffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x8000000000000000, -0x000002710, -0x000002710, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x000002710, -0x000002710, 0x7fffffffffffd8f0, true);
	testInt64Binary(0x7fffffffffffd8f0, -0x789abcdd0fedcbaa, 0x7654322f0120d46, -0x7654322f0125b66, 0x1c717b3e38e3a0a0, -0x000000001, 0x7654322f0120d46, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, 0x789abcdd0fedc8a0, true);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000001, -0x000004e20, 0x3fffffffffffec78);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000002, -0x000009c40, 0x1ffffffffffff63c);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000003, -0x000013880, 0xffffffffffffb1e);
	testInt64Shift(0x7fffffffffffd8f0, 0x00000000f, -0x013880000, 0xffffffffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000010, -0x027100000, 0x7fffffffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000011, -0x04e200000, 0x3fffffffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x00000001f, -0x138800000000, 0x0ffffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000020, -0x271000000000, 0x07fffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000021, -0x4e2000000000, 0x03fffffff);
	testInt64Shift(0x7fffffffffffd8f0, 0x00000003d, 0x000000000, 0x000000003);
	testInt64Shift(0x7fffffffffffd8f0, 0x00000003e, 0x000000000, 0x000000001);
	testInt64Shift(0x7fffffffffffd8f0, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffd8f0, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test15() {
	testInt64Unary(0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, -0x7fffffffffffffff);
	testInt64Binary(0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testInt64Binary(0x7fffffffffffffff, 0x000000001, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64Binary(0x7fffffffffffffff, 0x000000002, -0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64Binary(0x7fffffffffffffff, 0x000000003, -0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64Binary(0x7fffffffffffffff, 0x000000064, -0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testInt64Binary(0x7fffffffffffffff, 0x000002711, -0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64Binary(0x7fffffffffffffff, 0x07fffffff, -0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64Binary(0x7fffffffffffffff, 0x080000000, -0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64Binary(0x7fffffffffffffff, 0x080000001, -0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64Binary(0x7fffffffffffffff, 0x0c0000000, -0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testInt64Binary(0x7fffffffffffffff, 0x0ffffffff, -0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64Binary(0x7fffffffffffffff, 0x100000000, -0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testInt64Binary(0x7fffffffffffffff, 0x100000001, -0x7fffffff00000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testInt64Binary(0x7fffffffffffffff, 0x200000000, -0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testInt64Binary(0x7fffffffffffffff, 0x7fffffffffffd8f0, -0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testInt64Binary(0x7fffffffffffffff, 0x7fffffffffffffff, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(0x7fffffffffffffff, 0x789abcdef0123456, -0x76543210fedcbab, 0x76543210fedcba9, -0x789abcdef0123456, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testInt64Binary(0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, 0x000000000, true);
	testInt64Binary(0x7fffffffffffffff, -0x000000002, 0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, 0x000000001, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, 0x000000001, true);
	testInt64Binary(0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, 0x000000001, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64Binary(0x7fffffffffffffff, -0x000000064, 0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, 0x000000007, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, 0x000000063, true);
	testInt64Binary(0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, 0x000002039, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64Binary(0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, 0x000000001, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64Binary(0x7fffffffffffffff, -0x080000000, 0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, -0x0ffffffff, 0x07fffffff, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64Binary(0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, 0x000000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, 0x080000000, true);
	testInt64Binary(0x7fffffffffffffff, -0x0c0000000, 0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, 0x07fffffff, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, 0x0bfffffff, true);
	testInt64Binary(0x7fffffffffffffff, -0x100000000, 0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, -0x07fffffff, 0x0ffffffff, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64Binary(0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, 0x07fffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64Binary(0x7fffffffffffffff, -0x200000000, 0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, -0x03fffffff, 0x1ffffffff, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, 0x1ffffffff, true);
	testInt64Binary(0x7fffffffffffffff, -0x7fffffffffffd8f0, 0x00000270f, -0x000002711, 0x7fffffffffffd8f0, -0x000000001, 0x00000270f, 0x000002710, -0x000000001, -0x000002711, 0x7fffffffffffd8ef, true);
	testInt64Binary(0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x7ffffffffffffffe, true);
	testInt64Binary(0x7fffffffffffffff, -0x8000000000000000, -0x000000001, -0x000000001, -0x8000000000000000, 0x000000000, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x000000001, 0x7fffffffffffffff, true);
	testInt64Binary(0x7fffffffffffffff, -0x789abcdd0fedcbaa, 0x7654322f0123455, -0x7654322f0123457, 0x789abcdd0fedcbaa, -0x000000001, 0x7654322f0123455, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, 0x789abcdd0fedcba9, true);
	testInt64Shift(0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000001, -0x000000002, 0x3fffffffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000002, -0x000000004, 0x1fffffffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000003, -0x000000008, 0xfffffffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x00000000f, -0x000008000, 0xffffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000010, -0x000010000, 0x7fffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000011, -0x000020000, 0x3fffffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x00000001f, -0x080000000, 0x0ffffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000020, -0x100000000, 0x07fffffff);
	testInt64Shift(0x7fffffffffffffff, 0x000000021, -0x200000000, 0x03fffffff);
	testInt64Shift(0x7fffffffffffffff, 0x00000003d, -0x2000000000000000, 0x000000003);
	testInt64Shift(0x7fffffffffffffff, 0x00000003e, -0x4000000000000000, 0x000000001);
	testInt64Shift(0x7fffffffffffffff, 0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x7fffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test16() {
	testInt64Unary(0x789abcdef0123456, 0x789abcdef0123456, -0x789abcdef0123457, -0x789abcdef0123456);
	testInt64Binary(0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testInt64Binary(0x789abcdef0123456, 0x000000001, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testInt64Binary(0x789abcdef0123456, 0x000000002, 0x789abcdef0123458, 0x789abcdef0123454, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testInt64Binary(0x789abcdef0123456, 0x000000003, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testInt64Binary(0x789abcdef0123456, 0x000000064, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testInt64Binary(0x789abcdef0123456, 0x000002711, 0x789abcdef0125b67, 0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testInt64Binary(0x789abcdef0123456, 0x07fffffff, 0x789abcdf70123455, 0x789abcde70123457, -0x91a2b3f0123456, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testInt64Binary(0x789abcdef0123456, 0x080000000, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testInt64Binary(0x789abcdef0123456, 0x080000001, 0x789abcdf70123457, 0x789abcde70123455, -0xf5c28f60fedcbaa, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testInt64Binary(0x789abcdef0123456, 0x0c0000000, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testInt64Binary(0x789abcdef0123456, 0x0ffffffff, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testInt64Binary(0x789abcdef0123456, 0x100000000, 0x789abcdff0123456, 0x789abcddf0123456, -0xfedcbaa00000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testInt64Binary(0x789abcdef0123456, 0x100000001, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testInt64Binary(0x789abcdef0123456, 0x200000000, 0x789abce0f0123456, 0x789abcdcf0123456, -0x1fdb975400000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testInt64Binary(0x789abcdef0123456, 0x7fffffffffffd8f0, -0x76543210fedf2ba, -0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testInt64Binary(0x789abcdef0123456, 0x7fffffffffffffff, -0x76543210fedcbab, -0x76543210fedcba9, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testInt64Binary(0x789abcdef0123456, 0x789abcdef0123456, -0xeca86421fdb9754, 0x000000000, -0x6af4c76b5934f31c, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testInt64Binary(0x789abcdef0123456, -0x000000001, 0x789abcdef0123455, 0x789abcdef0123457, -0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, 0x000000000, true);
	testInt64Binary(0x789abcdef0123456, -0x000000002, 0x789abcdef0123454, 0x789abcdef0123458, 0xeca86421fdb9754, -0x3c4d5e6f78091a2b, 0x000000000, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, 0x000000000, true);
	testInt64Binary(0x789abcdef0123456, -0x000000003, 0x789abcdef0123453, 0x789abcdef0123459, -0x69d0369cd0369d02, -0x2833944a50061172, 0x000000000, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, 0x000000002, true);
	testInt64Binary(0x789abcdef0123456, -0x000000064, 0x789abcdef01233f2, 0x789abcdef01234ba, -0x1c71c715c71c7198, -0x134bf54263d9f3e, 0x00000001e, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, 0x000000042, true);
	testInt64Binary(0x789abcdef0123456, -0x000002711, 0x789abcdef0120d45, 0x789abcdef0125b67, 0x6af37e9f48d16c4a, -0x31650730f1426, 0x0000013d0, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, 0x000002410, true);
	testInt64Binary(0x789abcdef0123456, -0x07fffffff, 0x789abcde70123457, 0x789abcdf70123455, 0x91a2b3f0123456, -0x0f13579bf, 0x06147ae15, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, 0x070123456, true);
	testInt64Binary(0x789abcdef0123456, -0x080000000, 0x789abcde70123456, 0x789abcdf70123456, -0x78091a2b00000000, -0x0f13579bd, 0x070123456, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, 0x070123456, true);
	testInt64Binary(0x789abcdef0123456, -0x080000001, 0x789abcde70123455, 0x789abcdf70123457, 0xf5c28f60fedcbaa, -0x0f13579bb, 0x07edcba9b, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, 0x080000000, true);
	testInt64Binary(0x789abcdef0123456, -0x0c0000000, 0x789abcde30123456, 0x789abcdfb0123456, -0x340da74080000000, -0x0a0ce5129, 0x030123456, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, 0x0b0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x100000000, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, -0x0789abcde, 0x0f0123456, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, 0x0f0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x0ffffffff, 0x789abcddf0123457, 0x789abcdff0123455, -0x777777770fedcbaa, -0x0789abcdf, 0x068acf135, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, 0x0f0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x200000000, 0x789abcdcf0123456, 0x789abce0f0123456, 0x1fdb975400000000, -0x03c4d5e6f, 0x0f0123456, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, 0x0f0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x7fffffffffffd8f0, -0x76543210feda49a, -0x76543210fedf2ba, 0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, 0x789abcdef0121046, true);
	testInt64Binary(0x789abcdef0123456, -0x7fffffffffffffff, -0x76543210fedcba9, -0x76543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, 0x789abcdef0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x8000000000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x789abcdef0123456, true);
	testInt64Binary(0x789abcdef0123456, -0x789abcdd0fedcbaa, 0x1e02468ac, -0xeca864400000000, -0x1edddc935934f31c, -0x000000001, 0x1e02468ac, 0x2f0123456, -0x10fedcbaa, -0x400000000, 0x789abcdc00000000, true);
	testInt64Shift(0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456);
	testInt64Shift(0x789abcdef0123456, 0x000000001, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b);
	testInt64Shift(0x789abcdef0123456, 0x000000002, -0x1d950c843fb72ea8, 0x1e26af37bc048d15);
	testInt64Shift(0x789abcdef0123456, 0x000000003, -0x3b2a19087f6e5d50, 0xf13579bde02468a);
	testInt64Shift(0x789abcdef0123456, 0x00000000f, 0x5e6f78091a2b0000, 0xf13579bde024);
	testInt64Shift(0x789abcdef0123456, 0x000000010, -0x43210fedcbaa0000, 0x789abcdef012);
	testInt64Shift(0x789abcdef0123456, 0x000000011, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testInt64Shift(0x789abcdef0123456, 0x00000001f, 0x78091a2b00000000, 0x0f13579bd);
	testInt64Shift(0x789abcdef0123456, 0x000000020, -0xfedcbaa00000000, 0x0789abcde);
	testInt64Shift(0x789abcdef0123456, 0x000000021, -0x1fdb975400000000, 0x03c4d5e6f);
	testInt64Shift(0x789abcdef0123456, 0x00000003d, -0x4000000000000000, 0x000000003);
	testInt64Shift(0x789abcdef0123456, 0x00000003e, -0x8000000000000000, 0x000000001);
	testInt64Shift(0x789abcdef0123456, 0x00000003f, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x000000040, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x000000041, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x0ffffffff, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x100000000, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x100000001, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x1000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0x8000000000000000, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64Shift(0x789abcdef0123456, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test17() {
	testInt64Unary(-0x000000001, -0x000000001, 0x000000000, 0x000000001);
	testInt64Binary(-0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000001, false);
	testInt64Binary(-0x000000001, 0x000000001, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000002, true);
	testInt64Binary(-0x000000001, 0x000000002, 0x000000001, -0x000000003, -0x000000002, 0x000000000, -0x000000001, 0x000000002, -0x000000001, -0x000000003, -0x000000003, true);
	testInt64Binary(-0x000000001, 0x000000003, 0x000000002, -0x000000004, -0x000000003, 0x000000000, -0x000000001, 0x000000003, -0x000000001, -0x000000004, -0x000000004, true);
	testInt64Binary(-0x000000001, 0x000000064, 0x000000063, -0x000000065, -0x000000064, 0x000000000, -0x000000001, 0x000000064, -0x000000001, -0x000000065, -0x000000065, true);
	testInt64Binary(-0x000000001, 0x000002711, 0x000002710, -0x000002712, -0x000002711, 0x000000000, -0x000000001, 0x000002711, -0x000000001, -0x000002712, -0x000002712, true);
	testInt64Binary(-0x000000001, 0x07fffffff, 0x07ffffffe, -0x080000000, -0x07fffffff, 0x000000000, -0x000000001, 0x07fffffff, -0x000000001, -0x080000000, -0x080000000, true);
	testInt64Binary(-0x000000001, 0x080000000, 0x07fffffff, -0x080000001, -0x080000000, 0x000000000, -0x000000001, 0x080000000, -0x000000001, -0x080000001, -0x080000001, true);
	testInt64Binary(-0x000000001, 0x080000001, 0x080000000, -0x080000002, -0x080000001, 0x000000000, -0x000000001, 0x080000001, -0x000000001, -0x080000002, -0x080000002, true);
	testInt64Binary(-0x000000001, 0x0c0000000, 0x0bfffffff, -0x0c0000001, -0x0c0000000, 0x000000000, -0x000000001, 0x0c0000000, -0x000000001, -0x0c0000001, -0x0c0000001, true);
	testInt64Binary(-0x000000001, 0x0ffffffff, 0x0fffffffe, -0x100000000, -0x0ffffffff, 0x000000000, -0x000000001, 0x0ffffffff, -0x000000001, -0x100000000, -0x100000000, true);
	testInt64Binary(-0x000000001, 0x100000000, 0x0ffffffff, -0x100000001, -0x100000000, 0x000000000, -0x000000001, 0x100000000, -0x000000001, -0x100000001, -0x100000001, true);
	testInt64Binary(-0x000000001, 0x100000001, 0x100000000, -0x100000002, -0x100000001, 0x000000000, -0x000000001, 0x100000001, -0x000000001, -0x100000002, -0x100000002, true);
	testInt64Binary(-0x000000001, 0x200000000, 0x1ffffffff, -0x200000001, -0x200000000, 0x000000000, -0x000000001, 0x200000000, -0x000000001, -0x200000001, -0x200000001, true);
	testInt64Binary(-0x000000001, 0x7fffffffffffd8f0, 0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, -0x000000001, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, -0x7fffffffffffd8f1, true);
	testInt64Binary(-0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, -0x000000001, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, -0x8000000000000000, true);
	testInt64Binary(-0x000000001, 0x789abcdef0123456, 0x789abcdef0123455, -0x789abcdef0123457, -0x789abcdef0123456, 0x000000000, -0x000000001, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, -0x789abcdef0123457, true);
	testInt64Binary(-0x000000001, -0x000000001, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x000000001, -0x000000002, -0x000000003, 0x000000001, 0x000000002, 0x000000000, -0x000000001, -0x000000002, -0x000000001, 0x000000001, 0x000000001, true);
	testInt64Binary(-0x000000001, -0x000000003, -0x000000004, 0x000000002, 0x000000003, 0x000000000, -0x000000001, -0x000000003, -0x000000001, 0x000000002, 0x000000002, true);
	testInt64Binary(-0x000000001, -0x000000064, -0x000000065, 0x000000063, 0x000000064, 0x000000000, -0x000000001, -0x000000064, -0x000000001, 0x000000063, 0x000000063, true);
	testInt64Binary(-0x000000001, -0x000002711, -0x000002712, 0x000002710, 0x000002711, 0x000000000, -0x000000001, -0x000002711, -0x000000001, 0x000002710, 0x000002710, true);
	testInt64Binary(-0x000000001, -0x07fffffff, -0x080000000, 0x07ffffffe, 0x07fffffff, 0x000000000, -0x000000001, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64Binary(-0x000000001, -0x080000000, -0x080000001, 0x07fffffff, 0x080000000, 0x000000000, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x07fffffff, true);
	testInt64Binary(-0x000000001, -0x080000001, -0x080000002, 0x080000000, 0x080000001, 0x000000000, -0x000000001, -0x080000001, -0x000000001, 0x080000000, 0x080000000, true);
	testInt64Binary(-0x000000001, -0x0c0000000, -0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x000000000, -0x000000001, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x0bfffffff, true);
	testInt64Binary(-0x000000001, -0x100000000, -0x100000001, 0x0ffffffff, 0x100000000, 0x000000000, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x0ffffffff, true);
	testInt64Binary(-0x000000001, -0x0ffffffff, -0x100000000, 0x0fffffffe, 0x0ffffffff, 0x000000000, -0x000000001, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x0fffffffe, true);
	testInt64Binary(-0x000000001, -0x200000000, -0x200000001, 0x1ffffffff, 0x200000000, 0x000000000, -0x000000001, -0x200000000, -0x000000001, 0x1ffffffff, 0x1ffffffff, true);
	testInt64Binary(-0x000000001, -0x7fffffffffffd8f0, -0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, -0x000000001, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64Binary(-0x000000001, -0x7fffffffffffffff, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64Binary(-0x000000001, -0x8000000000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, 0x000000000, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffffff, true);
	testInt64Binary(-0x000000001, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbab, 0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x000000000, -0x000000001, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x789abcdd0fedcba9, true);
	testInt64Shift(-0x000000001, 0x000000000, -0x000000001, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000001, -0x000000002, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000002, -0x000000004, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000003, -0x000000008, -0x000000001);
	testInt64Shift(-0x000000001, 0x00000000f, -0x000008000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000010, -0x000010000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000011, -0x000020000, -0x000000001);
	testInt64Shift(-0x000000001, 0x00000001f, -0x080000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000020, -0x100000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000021, -0x200000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000001, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test18() {
	testInt64Unary(-0x000000002, -0x000000002, 0x000000001, 0x000000002);
	testInt64Binary(-0x000000002, 0x000000000, -0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, -0x000000002, false);
	testInt64Binary(-0x000000002, 0x000000001, -0x000000001, -0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000002, true);
	testInt64Binary(-0x000000002, 0x000000002, 0x000000000, -0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, -0x000000004, true);
	testInt64Binary(-0x000000002, 0x000000003, 0x000000001, -0x000000005, -0x000000006, 0x000000000, -0x000000002, 0x000000002, -0x000000001, -0x000000003, -0x000000004, true);
	testInt64Binary(-0x000000002, 0x000000064, 0x000000062, -0x000000066, -0x0000000c8, 0x000000000, -0x000000002, 0x000000064, -0x000000002, -0x000000066, -0x000000066, true);
	testInt64Binary(-0x000000002, 0x000002711, 0x00000270f, -0x000002713, -0x000004e22, 0x000000000, -0x000000002, 0x000002710, -0x000000001, -0x000002711, -0x000002712, true);
	testInt64Binary(-0x000000002, 0x07fffffff, 0x07ffffffd, -0x080000001, -0x0fffffffe, 0x000000000, -0x000000002, 0x07ffffffe, -0x000000001, -0x07fffffff, -0x080000000, true);
	testInt64Binary(-0x000000002, 0x080000000, 0x07ffffffe, -0x080000002, -0x100000000, 0x000000000, -0x000000002, 0x080000000, -0x000000002, -0x080000002, -0x080000002, true);
	testInt64Binary(-0x000000002, 0x080000001, 0x07fffffff, -0x080000003, -0x100000002, 0x000000000, -0x000000002, 0x080000000, -0x000000001, -0x080000001, -0x080000002, true);
	testInt64Binary(-0x000000002, 0x0c0000000, 0x0bffffffe, -0x0c0000002, -0x180000000, 0x000000000, -0x000000002, 0x0c0000000, -0x000000002, -0x0c0000002, -0x0c0000002, true);
	testInt64Binary(-0x000000002, 0x0ffffffff, 0x0fffffffd, -0x100000001, -0x1fffffffe, 0x000000000, -0x000000002, 0x0fffffffe, -0x000000001, -0x0ffffffff, -0x100000000, true);
	testInt64Binary(-0x000000002, 0x100000000, 0x0fffffffe, -0x100000002, -0x200000000, 0x000000000, -0x000000002, 0x100000000, -0x000000002, -0x100000002, -0x100000002, true);
	testInt64Binary(-0x000000002, 0x100000001, 0x0ffffffff, -0x100000003, -0x200000002, 0x000000000, -0x000000002, 0x100000000, -0x000000001, -0x100000001, -0x100000002, true);
	testInt64Binary(-0x000000002, 0x200000000, 0x1fffffffe, -0x200000002, -0x400000000, 0x000000000, -0x000000002, 0x200000000, -0x000000002, -0x200000002, -0x200000002, true);
	testInt64Binary(-0x000000002, 0x7fffffffffffd8f0, 0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, 0x000000000, -0x000000002, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, -0x7fffffffffffd8f2, true);
	testInt64Binary(-0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, 0x000000000, -0x000000002, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64Binary(-0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, -0x789abcdef0123458, 0xeca86421fdb9754, 0x000000000, -0x000000002, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, -0x789abcdef0123458, true);
	testInt64Binary(-0x000000002, -0x000000001, -0x000000003, -0x000000001, 0x000000002, 0x000000002, 0x000000000, -0x000000002, -0x000000001, 0x000000001, 0x000000000, true);
	testInt64Binary(-0x000000002, -0x000000002, -0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, -0x000000002, -0x000000002, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x000000002, -0x000000003, -0x000000005, 0x000000001, 0x000000006, 0x000000000, -0x000000002, -0x000000004, -0x000000001, 0x000000003, 0x000000002, true);
	testInt64Binary(-0x000000002, -0x000000064, -0x000000066, 0x000000062, 0x0000000c8, 0x000000000, -0x000000002, -0x000000064, -0x000000002, 0x000000062, 0x000000062, true);
	testInt64Binary(-0x000000002, -0x000002711, -0x000002713, 0x00000270f, 0x000004e22, 0x000000000, -0x000000002, -0x000002712, -0x000000001, 0x000002711, 0x000002710, true);
	testInt64Binary(-0x000000002, -0x07fffffff, -0x080000001, 0x07ffffffd, 0x0fffffffe, 0x000000000, -0x000000002, -0x080000000, -0x000000001, 0x07fffffff, 0x07ffffffe, true);
	testInt64Binary(-0x000000002, -0x080000000, -0x080000002, 0x07ffffffe, 0x100000000, 0x000000000, -0x000000002, -0x080000000, -0x000000002, 0x07ffffffe, 0x07ffffffe, true);
	testInt64Binary(-0x000000002, -0x080000001, -0x080000003, 0x07fffffff, 0x100000002, 0x000000000, -0x000000002, -0x080000002, -0x000000001, 0x080000001, 0x080000000, true);
	testInt64Binary(-0x000000002, -0x0c0000000, -0x0c0000002, 0x0bffffffe, 0x180000000, 0x000000000, -0x000000002, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x0bffffffe, true);
	testInt64Binary(-0x000000002, -0x100000000, -0x100000002, 0x0fffffffe, 0x200000000, 0x000000000, -0x000000002, -0x100000000, -0x000000002, 0x0fffffffe, 0x0fffffffe, true);
	testInt64Binary(-0x000000002, -0x0ffffffff, -0x100000001, 0x0fffffffd, 0x1fffffffe, 0x000000000, -0x000000002, -0x100000000, -0x000000001, 0x0ffffffff, 0x0fffffffe, true);
	testInt64Binary(-0x000000002, -0x200000000, -0x200000002, 0x1fffffffe, 0x400000000, 0x000000000, -0x000000002, -0x200000000, -0x000000002, 0x1fffffffe, 0x1fffffffe, true);
	testInt64Binary(-0x000000002, -0x7fffffffffffd8f0, -0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x000000000, -0x000000002, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64Binary(-0x000000002, -0x7fffffffffffffff, 0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, true);
	testInt64Binary(-0x000000002, -0x8000000000000000, 0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64Binary(-0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, 0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x000000000, -0x000000002, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x789abcdd0fedcba8, true);
	testInt64Shift(-0x000000002, 0x000000000, -0x000000002, -0x000000002);
	testInt64Shift(-0x000000002, 0x000000001, -0x000000004, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000002, -0x000000008, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000003, -0x000000010, -0x000000001);
	testInt64Shift(-0x000000002, 0x00000000f, -0x000010000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000010, -0x000020000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000011, -0x000040000, -0x000000001);
	testInt64Shift(-0x000000002, 0x00000001f, -0x100000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000020, -0x200000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000021, -0x400000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x00000003d, -0x4000000000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x00000003e, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000002, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test19() {
	testInt64Unary(-0x000000003, -0x000000003, 0x000000002, 0x000000003);
	testInt64Binary(-0x000000003, 0x000000000, -0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, -0x000000003, false);
	testInt64Binary(-0x000000003, 0x000000001, -0x000000002, -0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000001, -0x000000003, -0x000000004, -0x000000004, true);
	testInt64Binary(-0x000000003, 0x000000002, -0x000000001, -0x000000005, -0x000000006, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x000000003, true);
	testInt64Binary(-0x000000003, 0x000000003, 0x000000000, -0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000004, true);
	testInt64Binary(-0x000000003, 0x000000064, 0x000000061, -0x000000067, -0x00000012c, 0x000000000, -0x000000003, 0x000000064, -0x000000003, -0x000000067, -0x000000067, true);
	testInt64Binary(-0x000000003, 0x000002711, 0x00000270e, -0x000002714, -0x000007533, 0x000000000, -0x000000003, 0x000002711, -0x000000003, -0x000002714, -0x000002714, true);
	testInt64Binary(-0x000000003, 0x07fffffff, 0x07ffffffc, -0x080000002, -0x17ffffffd, 0x000000000, -0x000000003, 0x07ffffffd, -0x000000001, -0x07ffffffe, -0x080000000, true);
	testInt64Binary(-0x000000003, 0x080000000, 0x07ffffffd, -0x080000003, -0x180000000, 0x000000000, -0x000000003, 0x080000000, -0x000000003, -0x080000003, -0x080000003, true);
	testInt64Binary(-0x000000003, 0x080000001, 0x07ffffffe, -0x080000004, -0x180000003, 0x000000000, -0x000000003, 0x080000001, -0x000000003, -0x080000004, -0x080000004, true);
	testInt64Binary(-0x000000003, 0x0c0000000, 0x0bffffffd, -0x0c0000003, -0x240000000, 0x000000000, -0x000000003, 0x0c0000000, -0x000000003, -0x0c0000003, -0x0c0000003, true);
	testInt64Binary(-0x000000003, 0x0ffffffff, 0x0fffffffc, -0x100000002, -0x2fffffffd, 0x000000000, -0x000000003, 0x0fffffffd, -0x000000001, -0x0fffffffe, -0x100000000, true);
	testInt64Binary(-0x000000003, 0x100000000, 0x0fffffffd, -0x100000003, -0x300000000, 0x000000000, -0x000000003, 0x100000000, -0x000000003, -0x100000003, -0x100000003, true);
	testInt64Binary(-0x000000003, 0x100000001, 0x0fffffffe, -0x100000004, -0x300000003, 0x000000000, -0x000000003, 0x100000001, -0x000000003, -0x100000004, -0x100000004, true);
	testInt64Binary(-0x000000003, 0x200000000, 0x1fffffffd, -0x200000003, -0x600000000, 0x000000000, -0x000000003, 0x200000000, -0x000000003, -0x200000003, -0x200000003, true);
	testInt64Binary(-0x000000003, 0x7fffffffffffd8f0, 0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, -0x000000003, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, -0x7fffffffffffd8f3, true);
	testInt64Binary(-0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, -0x000000003, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64Binary(-0x000000003, 0x789abcdef0123456, 0x789abcdef0123453, -0x789abcdef0123459, -0x69d0369cd0369d02, 0x000000000, -0x000000003, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, -0x789abcdef0123457, true);
	testInt64Binary(-0x000000003, -0x000000001, -0x000000004, -0x000000002, 0x000000003, 0x000000003, 0x000000000, -0x000000003, -0x000000001, 0x000000002, 0x000000000, true);
	testInt64Binary(-0x000000003, -0x000000002, -0x000000005, -0x000000001, 0x000000006, 0x000000001, -0x000000001, -0x000000004, -0x000000001, 0x000000003, 0x000000001, true);
	testInt64Binary(-0x000000003, -0x000000003, -0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, -0x000000003, -0x000000003, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x000000003, -0x000000064, -0x000000067, 0x000000061, 0x00000012c, 0x000000000, -0x000000003, -0x000000064, -0x000000003, 0x000000061, 0x000000061, true);
	testInt64Binary(-0x000000003, -0x000002711, -0x000002714, 0x00000270e, 0x000007533, 0x000000000, -0x000000003, -0x000002713, -0x000000001, 0x000002712, 0x000002710, true);
	testInt64Binary(-0x000000003, -0x07fffffff, -0x080000002, 0x07ffffffc, 0x17ffffffd, 0x000000000, -0x000000003, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x07ffffffc, true);
	testInt64Binary(-0x000000003, -0x080000000, -0x080000003, 0x07ffffffd, 0x180000000, 0x000000000, -0x000000003, -0x080000000, -0x000000003, 0x07ffffffd, 0x07ffffffd, true);
	testInt64Binary(-0x000000003, -0x080000001, -0x080000004, 0x07ffffffe, 0x180000003, 0x000000000, -0x000000003, -0x080000003, -0x000000001, 0x080000002, 0x080000000, true);
	testInt64Binary(-0x000000003, -0x0c0000000, -0x0c0000003, 0x0bffffffd, 0x240000000, 0x000000000, -0x000000003, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x0bffffffd, true);
	testInt64Binary(-0x000000003, -0x100000000, -0x100000003, 0x0fffffffd, 0x300000000, 0x000000000, -0x000000003, -0x100000000, -0x000000003, 0x0fffffffd, 0x0fffffffd, true);
	testInt64Binary(-0x000000003, -0x0ffffffff, -0x100000002, 0x0fffffffc, 0x2fffffffd, 0x000000000, -0x000000003, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x0fffffffc, true);
	testInt64Binary(-0x000000003, -0x200000000, -0x200000003, 0x1fffffffd, 0x600000000, 0x000000000, -0x000000003, -0x200000000, -0x000000003, 0x1fffffffd, 0x1fffffffd, true);
	testInt64Binary(-0x000000003, -0x7fffffffffffd8f0, -0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, -0x000000003, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x7fffffffffffd8ed, true);
	testInt64Binary(-0x000000003, -0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, -0x000000003, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64Binary(-0x000000003, -0x8000000000000000, 0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, -0x000000003, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64Binary(-0x000000003, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbad, 0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x000000000, -0x000000003, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x789abcdd0fedcba9, true);
	testInt64Shift(-0x000000003, 0x000000000, -0x000000003, -0x000000003);
	testInt64Shift(-0x000000003, 0x000000001, -0x000000006, -0x000000002);
	testInt64Shift(-0x000000003, 0x000000002, -0x00000000c, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000003, -0x000000018, -0x000000001);
	testInt64Shift(-0x000000003, 0x00000000f, -0x000018000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000010, -0x000030000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000011, -0x000060000, -0x000000001);
	testInt64Shift(-0x000000003, 0x00000001f, -0x180000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000020, -0x300000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000021, -0x600000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x00000003d, -0x6000000000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000003, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test20() {
	testInt64Unary(-0x000000064, -0x000000064, 0x000000063, 0x000000064);
	testInt64Binary(-0x000000064, 0x000000000, -0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, -0x000000064, false);
	testInt64Binary(-0x000000064, 0x000000001, -0x000000063, -0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000000, -0x000000063, -0x000000063, -0x000000064, true);
	testInt64Binary(-0x000000064, 0x000000002, -0x000000062, -0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000000, -0x000000062, -0x000000062, -0x000000064, true);
	testInt64Binary(-0x000000064, 0x000000003, -0x000000061, -0x000000067, -0x00000012c, -0x000000021, -0x000000001, 0x000000000, -0x000000061, -0x000000061, -0x000000064, true);
	testInt64Binary(-0x000000064, 0x000000064, 0x000000000, -0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, -0x000000068, true);
	testInt64Binary(-0x000000064, 0x000002711, 0x0000026ad, -0x000002775, -0x0000f42a4, 0x000000000, -0x000000064, 0x000002710, -0x000000063, -0x000002773, -0x000002774, true);
	testInt64Binary(-0x000000064, 0x07fffffff, 0x07fffff9b, -0x080000063, -0x31ffffff9c, 0x000000000, -0x000000064, 0x07fffff9c, -0x000000001, -0x07fffff9d, -0x080000000, true);
	testInt64Binary(-0x000000064, 0x080000000, 0x07fffff9c, -0x080000064, -0x3200000000, 0x000000000, -0x000000064, 0x080000000, -0x000000064, -0x080000064, -0x080000064, true);
	testInt64Binary(-0x000000064, 0x080000001, 0x07fffff9d, -0x080000065, -0x3200000064, 0x000000000, -0x000000064, 0x080000000, -0x000000063, -0x080000063, -0x080000064, true);
	testInt64Binary(-0x000000064, 0x0c0000000, 0x0bfffff9c, -0x0c0000064, -0x4b00000000, 0x000000000, -0x000000064, 0x0c0000000, -0x000000064, -0x0c0000064, -0x0c0000064, true);
	testInt64Binary(-0x000000064, 0x0ffffffff, 0x0ffffff9b, -0x100000063, -0x63ffffff9c, 0x000000000, -0x000000064, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, -0x100000000, true);
	testInt64Binary(-0x000000064, 0x100000000, 0x0ffffff9c, -0x100000064, -0x6400000000, 0x000000000, -0x000000064, 0x100000000, -0x000000064, -0x100000064, -0x100000064, true);
	testInt64Binary(-0x000000064, 0x100000001, 0x0ffffff9d, -0x100000065, -0x6400000064, 0x000000000, -0x000000064, 0x100000000, -0x000000063, -0x100000063, -0x100000064, true);
	testInt64Binary(-0x000000064, 0x200000000, 0x1ffffff9c, -0x200000064, -0xc800000000, 0x000000000, -0x000000064, 0x200000000, -0x000000064, -0x200000064, -0x200000064, true);
	testInt64Binary(-0x000000064, 0x7fffffffffffd8f0, 0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, 0x000000000, -0x000000064, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, -0x7fffffffffffd8f4, true);
	testInt64Binary(-0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000000, -0x000000064, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, -0x8000000000000000, true);
	testInt64Binary(-0x000000064, 0x789abcdef0123456, 0x789abcdef01233f2, -0x789abcdef01234ba, -0x1c71c715c71c7198, 0x000000000, -0x000000064, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, -0x789abcdef0123478, true);
	testInt64Binary(-0x000000064, -0x000000001, -0x000000065, -0x000000063, 0x000000064, 0x000000064, 0x000000000, -0x000000064, -0x000000001, 0x000000063, 0x000000000, true);
	testInt64Binary(-0x000000064, -0x000000002, -0x000000066, -0x000000062, 0x0000000c8, 0x000000032, 0x000000000, -0x000000064, -0x000000002, 0x000000062, 0x000000000, true);
	testInt64Binary(-0x000000064, -0x000000003, -0x000000067, -0x000000061, 0x00000012c, 0x000000021, -0x000000001, -0x000000064, -0x000000003, 0x000000061, 0x000000000, true);
	testInt64Binary(-0x000000064, -0x000000064, -0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, -0x000000064, -0x000000064, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x000000064, -0x000002711, -0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000000, -0x000000064, -0x000002774, -0x000000001, 0x000002773, 0x000002710, true);
	testInt64Binary(-0x000000064, -0x07fffffff, -0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x000000000, -0x000000064, -0x080000000, -0x000000063, 0x07fffff9d, 0x07fffff9c, true);
	testInt64Binary(-0x000000064, -0x080000000, -0x080000064, 0x07fffff9c, 0x3200000000, 0x000000000, -0x000000064, -0x080000000, -0x000000064, 0x07fffff9c, 0x07fffff9c, true);
	testInt64Binary(-0x000000064, -0x080000001, -0x080000065, 0x07fffff9d, 0x3200000064, 0x000000000, -0x000000064, -0x080000064, -0x000000001, 0x080000063, 0x080000000, true);
	testInt64Binary(-0x000000064, -0x0c0000000, -0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x000000000, -0x000000064, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x0bfffff9c, true);
	testInt64Binary(-0x000000064, -0x100000000, -0x100000064, 0x0ffffff9c, 0x6400000000, 0x000000000, -0x000000064, -0x100000000, -0x000000064, 0x0ffffff9c, 0x0ffffff9c, true);
	testInt64Binary(-0x000000064, -0x0ffffffff, -0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x000000000, -0x000000064, -0x100000000, -0x000000063, 0x0ffffff9d, 0x0ffffff9c, true);
	testInt64Binary(-0x000000064, -0x200000000, -0x200000064, 0x1ffffff9c, 0xc800000000, 0x000000000, -0x000000064, -0x200000000, -0x000000064, 0x1ffffff9c, 0x1ffffff9c, true);
	testInt64Binary(-0x000000064, -0x7fffffffffffd8f0, -0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x000000000, -0x000000064, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x7fffffffffffd88c, true);
	testInt64Binary(-0x000000064, -0x7fffffffffffffff, 0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x7fffffffffffff9c, true);
	testInt64Binary(-0x000000064, -0x8000000000000000, 0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x7fffffffffffff9c, true);
	testInt64Binary(-0x000000064, -0x789abcdd0fedcbaa, -0x789abcdd0fedcc0e, 0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x000000000, -0x000000064, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x789abcdd0fedcb88, true);
	testInt64Shift(-0x000000064, 0x000000000, -0x000000064, -0x000000064);
	testInt64Shift(-0x000000064, 0x000000001, -0x0000000c8, -0x000000032);
	testInt64Shift(-0x000000064, 0x000000002, -0x000000190, -0x000000019);
	testInt64Shift(-0x000000064, 0x000000003, -0x000000320, -0x00000000d);
	testInt64Shift(-0x000000064, 0x00000000f, -0x000320000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000010, -0x000640000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000011, -0x000c80000, -0x000000001);
	testInt64Shift(-0x000000064, 0x00000001f, -0x3200000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000020, -0x6400000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000021, -0xc800000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x00000003d, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x00000003e, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000000064, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test21() {
	testInt64Unary(-0x000002711, -0x000002711, 0x000002710, 0x000002711);
	testInt64Binary(-0x000002711, 0x000000000, -0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, -0x000002711, false);
	testInt64Binary(-0x000002711, 0x000000001, -0x000002710, -0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000000001, -0x000002711, -0x000002712, -0x000002712, true);
	testInt64Binary(-0x000002711, 0x000000002, -0x00000270f, -0x000002713, -0x000004e22, -0x000001388, -0x000000001, 0x000000002, -0x000002711, -0x000002713, -0x000002713, true);
	testInt64Binary(-0x000002711, 0x000000003, -0x00000270e, -0x000002714, -0x000007533, -0x000000d05, -0x000000002, 0x000000003, -0x000002711, -0x000002714, -0x000002714, true);
	testInt64Binary(-0x000002711, 0x000000064, -0x0000026ad, -0x000002775, -0x0000f42a4, -0x000000064, -0x000000001, 0x000000064, -0x000002711, -0x000002775, -0x000002775, true);
	testInt64Binary(-0x000002711, 0x000002711, 0x000000000, -0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000002712, true);
	testInt64Binary(-0x000002711, 0x07fffffff, 0x07fffd8ee, -0x080002710, -0x13887fffd8ef, 0x000000000, -0x000002711, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, -0x080000000, true);
	testInt64Binary(-0x000002711, 0x080000000, 0x07fffd8ef, -0x080002711, -0x138880000000, 0x000000000, -0x000002711, 0x080000000, -0x000002711, -0x080002711, -0x080002711, true);
	testInt64Binary(-0x000002711, 0x080000001, 0x07fffd8f0, -0x080002712, -0x138880002711, 0x000000000, -0x000002711, 0x080000001, -0x000002711, -0x080002712, -0x080002712, true);
	testInt64Binary(-0x000002711, 0x0c0000000, 0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, 0x000000000, -0x000002711, 0x0c0000000, -0x000002711, -0x0c0002711, -0x0c0002711, true);
	testInt64Binary(-0x000002711, 0x0ffffffff, 0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, 0x000000000, -0x000002711, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, -0x100000000, true);
	testInt64Binary(-0x000002711, 0x100000000, 0x0ffffd8ef, -0x100002711, -0x271100000000, 0x000000000, -0x000002711, 0x100000000, -0x000002711, -0x100002711, -0x100002711, true);
	testInt64Binary(-0x000002711, 0x100000001, 0x0ffffd8f0, -0x100002712, -0x271100002711, 0x000000000, -0x000002711, 0x100000001, -0x000002711, -0x100002712, -0x100002712, true);
	testInt64Binary(-0x000002711, 0x200000000, 0x1ffffd8ef, -0x200002711, -0x4e2200000000, 0x000000000, -0x000002711, 0x200000000, -0x000002711, -0x200002711, -0x200002711, true);
	testInt64Binary(-0x000002711, 0x7fffffffffffd8f0, 0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, -0x000002711, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, -0x7ffffffffffffff1, true);
	testInt64Binary(-0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, -0x000002711, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64Binary(-0x000002711, 0x789abcdef0123456, 0x789abcdef0120d45, -0x789abcdef0125b67, 0x6af37e9f48d16c4a, 0x000000000, -0x000002711, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, -0x789abcdef0123757, true);
	testInt64Binary(-0x000002711, -0x000000001, -0x000002712, -0x000002710, 0x000002711, 0x000002711, 0x000000000, -0x000002711, -0x000000001, 0x000002710, 0x000000000, true);
	testInt64Binary(-0x000002711, -0x000000002, -0x000002713, -0x00000270f, 0x000004e22, 0x000001388, -0x000000001, -0x000002712, -0x000000001, 0x000002711, 0x000000001, true);
	testInt64Binary(-0x000002711, -0x000000003, -0x000002714, -0x00000270e, 0x000007533, 0x000000d05, -0x000000002, -0x000002713, -0x000000001, 0x000002712, 0x000000002, true);
	testInt64Binary(-0x000002711, -0x000000064, -0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000064, -0x000000001, -0x000002774, -0x000000001, 0x000002773, 0x000000063, true);
	testInt64Binary(-0x000002711, -0x000002711, -0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, -0x000002711, -0x000002711, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x000002711, -0x07fffffff, -0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x000000000, -0x000002711, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64Binary(-0x000002711, -0x080000000, -0x080002711, 0x07fffd8ef, 0x138880000000, 0x000000000, -0x000002711, -0x080000000, -0x000002711, 0x07fffd8ef, 0x07fffd8ef, true);
	testInt64Binary(-0x000002711, -0x080000001, -0x080002712, 0x07fffd8f0, 0x138880002711, 0x000000000, -0x000002711, -0x080002711, -0x000000001, 0x080002710, 0x080000000, true);
	testInt64Binary(-0x000002711, -0x0c0000000, -0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, -0x000002711, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x0bfffd8ef, true);
	testInt64Binary(-0x000002711, -0x100000000, -0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000000000, -0x000002711, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x0ffffd8ef, true);
	testInt64Binary(-0x000002711, -0x0ffffffff, -0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, -0x000002711, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64Binary(-0x000002711, -0x200000000, -0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x000000000, -0x000002711, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x1ffffd8ef, true);
	testInt64Binary(-0x000002711, -0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, -0x000002711, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffd8ef, true);
	testInt64Binary(-0x000002711, -0x7fffffffffffffff, 0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, -0x000002711, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64Binary(-0x000002711, -0x8000000000000000, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, -0x000002711, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64Binary(-0x000002711, -0x789abcdd0fedcbaa, -0x789abcdd0fedf2bb, 0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x000000000, -0x000002711, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x789abcdd0fedc8a9, true);
	testInt64Shift(-0x000002711, 0x000000000, -0x000002711, -0x000002711);
	testInt64Shift(-0x000002711, 0x000000001, -0x000004e22, -0x000001389);
	testInt64Shift(-0x000002711, 0x000000002, -0x000009c44, -0x0000009c5);
	testInt64Shift(-0x000002711, 0x000000003, -0x000013888, -0x0000004e3);
	testInt64Shift(-0x000002711, 0x00000000f, -0x013888000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000010, -0x027110000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000011, -0x04e220000, -0x000000001);
	testInt64Shift(-0x000002711, 0x00000001f, -0x138880000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000020, -0x271100000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000021, -0x4e2200000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x000002711, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test22() {
	testInt64Unary(-0x07fffffff, -0x07fffffff, 0x07ffffffe, 0x07fffffff);
	testInt64Binary(-0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x07fffffff, false);
	testInt64Binary(-0x07fffffff, 0x000000001, -0x07ffffffe, -0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000001, -0x07fffffff, -0x080000000, -0x080000000, true);
	testInt64Binary(-0x07fffffff, 0x000000002, -0x07ffffffd, -0x080000001, -0x0fffffffe, -0x03fffffff, -0x000000001, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x07fffffff, true);
	testInt64Binary(-0x07fffffff, 0x000000003, -0x07ffffffc, -0x080000002, -0x17ffffffd, -0x02aaaaaaa, -0x000000001, 0x000000001, -0x07ffffffd, -0x07ffffffe, -0x080000000, true);
	testInt64Binary(-0x07fffffff, 0x000000064, -0x07fffff9b, -0x080000063, -0x31ffffff9c, -0x00147ae14, -0x00000002f, 0x000000000, -0x07fffff9b, -0x07fffff9b, -0x07fffffff, true);
	testInt64Binary(-0x07fffffff, 0x000002711, -0x07fffd8ee, -0x080002710, -0x13887fffd8ef, -0x0000346c6, -0x0000022d9, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, -0x080000000, true);
	testInt64Binary(-0x07fffffff, 0x07fffffff, 0x000000000, -0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000000, true);
	testInt64Binary(-0x07fffffff, 0x080000000, 0x000000001, -0x0ffffffff, -0x3fffffff80000000, 0x000000000, -0x07fffffff, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x0ffffffff, true);
	testInt64Binary(-0x07fffffff, 0x080000001, 0x000000002, -0x100000000, -0x3fffffffffffffff, 0x000000000, -0x07fffffff, 0x080000001, -0x07fffffff, -0x100000000, -0x100000000, true);
	testInt64Binary(-0x07fffffff, 0x0c0000000, 0x040000001, -0x13fffffff, -0x5fffffff40000000, 0x000000000, -0x07fffffff, 0x080000000, -0x03fffffff, -0x0bfffffff, -0x0ffffffff, true);
	testInt64Binary(-0x07fffffff, 0x0ffffffff, 0x080000000, -0x17ffffffe, -0x7ffffffe80000001, 0x000000000, -0x07fffffff, 0x080000001, -0x000000001, -0x080000002, -0x100000000, true);
	testInt64Binary(-0x07fffffff, 0x100000000, 0x080000001, -0x17fffffff, -0x7fffffff00000000, 0x000000000, -0x07fffffff, 0x100000000, -0x07fffffff, -0x17fffffff, -0x17fffffff, true);
	testInt64Binary(-0x07fffffff, 0x100000001, 0x080000002, -0x180000000, -0x7fffffff7fffffff, 0x000000000, -0x07fffffff, 0x100000001, -0x07fffffff, -0x180000000, -0x180000000, true);
	testInt64Binary(-0x07fffffff, 0x200000000, 0x180000001, -0x27fffffff, 0x200000000, 0x000000000, -0x07fffffff, 0x200000000, -0x07fffffff, -0x27fffffff, -0x27fffffff, true);
	testInt64Binary(-0x07fffffff, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, -0x07fffffff, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, -0x7fffffffffffffff, true);
	testInt64Binary(-0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, -0x07fffffff, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64Binary(-0x07fffffff, 0x789abcdef0123456, 0x789abcde70123457, -0x789abcdf70123455, 0x91a2b3f0123456, 0x000000000, -0x07fffffff, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, -0x789abcdeffffffff, true);
	testInt64Binary(-0x07fffffff, -0x000000001, -0x080000000, -0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x000000000, true);
	testInt64Binary(-0x07fffffff, -0x000000002, -0x080000001, -0x07ffffffd, 0x0fffffffe, 0x03fffffff, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x000000001, true);
	testInt64Binary(-0x07fffffff, -0x000000003, -0x080000002, -0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, -0x000000001, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x000000000, true);
	testInt64Binary(-0x07fffffff, -0x000000064, -0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x00147ae14, -0x00000002f, -0x080000000, -0x000000063, 0x07fffff9d, 0x000000001, true);
	testInt64Binary(-0x07fffffff, -0x000002711, -0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, -0x0000022d9, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x000000000, true);
	testInt64Binary(-0x07fffffff, -0x07fffffff, -0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x07fffffff, -0x080000000, -0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000000, -0x07fffffff, -0x080000000, -0x07fffffff, 0x000000001, 0x000000001, true);
	testInt64Binary(-0x07fffffff, -0x080000001, -0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x080000000, true);
	testInt64Binary(-0x07fffffff, -0x0c0000000, -0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000000, -0x07fffffff, -0x100000000, -0x03fffffff, 0x0c0000001, 0x080000001, true);
	testInt64Binary(-0x07fffffff, -0x100000000, -0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000000, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x080000001, true);
	testInt64Binary(-0x07fffffff, -0x0ffffffff, -0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x080000000, true);
	testInt64Binary(-0x07fffffff, -0x200000000, -0x27fffffff, 0x180000001, -0x200000000, 0x000000000, -0x07fffffff, -0x200000000, -0x07fffffff, 0x180000001, 0x180000001, true);
	testInt64Binary(-0x07fffffff, -0x7fffffffffffd8f0, 0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x7fffffff80000001, true);
	testInt64Binary(-0x07fffffff, -0x7fffffffffffffff, 0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, -0x07fffffff, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64Binary(-0x07fffffff, -0x8000000000000000, 0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000001, true);
	testInt64Binary(-0x07fffffff, -0x789abcdd0fedcbaa, -0x789abcdd8fedcba9, 0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x000000000, -0x07fffffff, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x789abcdd00000001, true);
	testInt64Shift(-0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff);
	testInt64Shift(-0x07fffffff, 0x000000001, -0x0fffffffe, -0x040000000);
	testInt64Shift(-0x07fffffff, 0x000000002, -0x1fffffffc, -0x020000000);
	testInt64Shift(-0x07fffffff, 0x000000003, -0x3fffffff8, -0x010000000);
	testInt64Shift(-0x07fffffff, 0x00000000f, -0x3fffffff8000, -0x000010000);
	testInt64Shift(-0x07fffffff, 0x000000010, -0x7fffffff0000, -0x000008000);
	testInt64Shift(-0x07fffffff, 0x000000011, -0xfffffffe0000, -0x000004000);
	testInt64Shift(-0x07fffffff, 0x00000001f, -0x3fffffff80000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x000000020, -0x7fffffff00000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x000000021, 0x200000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x00000003d, 0x2000000000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x07fffffff, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test23() {
	testInt64Unary(-0x080000000, -0x080000000, 0x07fffffff, 0x080000000);
	testInt64Binary(-0x080000000, 0x000000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x080000000, false);
	testInt64Binary(-0x080000000, 0x000000001, -0x07fffffff, -0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x000000002, -0x07ffffffe, -0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x000000000, -0x07ffffffe, -0x07ffffffe, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x000000003, -0x07ffffffd, -0x080000003, -0x180000000, -0x02aaaaaaa, -0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x000000064, -0x07fffff9c, -0x080000064, -0x3200000000, -0x00147ae14, -0x000000030, 0x000000000, -0x07fffff9c, -0x07fffff9c, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x000002711, -0x07fffd8ef, -0x080002711, -0x138880000000, -0x0000346c6, -0x0000022da, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x07fffffff, -0x000000001, -0x0ffffffff, -0x3fffffff80000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000000, true);
	testInt64Binary(-0x080000000, 0x080000000, 0x000000000, -0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, -0x100000000, true);
	testInt64Binary(-0x080000000, 0x080000001, 0x000000001, -0x100000001, -0x4000000080000000, 0x000000000, -0x080000000, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x100000000, true);
	testInt64Binary(-0x080000000, 0x0c0000000, 0x040000000, -0x140000000, -0x6000000000000000, 0x000000000, -0x080000000, 0x080000000, -0x040000000, -0x0c0000000, -0x100000000, true);
	testInt64Binary(-0x080000000, 0x0ffffffff, 0x07fffffff, -0x17fffffff, -0x7fffffff80000000, 0x000000000, -0x080000000, 0x080000000, -0x000000001, -0x080000001, -0x100000000, true);
	testInt64Binary(-0x080000000, 0x100000000, 0x080000000, -0x180000000, -0x8000000000000000, 0x000000000, -0x080000000, 0x100000000, -0x080000000, -0x180000000, -0x180000000, true);
	testInt64Binary(-0x080000000, 0x100000001, 0x080000001, -0x180000001, 0x7fffffff80000000, 0x000000000, -0x080000000, 0x100000000, -0x07fffffff, -0x17fffffff, -0x180000000, true);
	testInt64Binary(-0x080000000, 0x200000000, 0x180000000, -0x280000000, 0x000000000, 0x000000000, -0x080000000, 0x200000000, -0x080000000, -0x280000000, -0x280000000, true);
	testInt64Binary(-0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, -0x8000000000000000, true);
	testInt64Binary(-0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64Binary(-0x080000000, 0x789abcdef0123456, 0x789abcde70123456, -0x789abcdf70123456, -0x78091a2b00000000, 0x000000000, -0x080000000, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, -0x789abcdf00000000, true);
	testInt64Binary(-0x080000000, -0x000000001, -0x080000001, -0x07fffffff, 0x080000000, 0x080000000, 0x000000000, -0x080000000, -0x000000001, 0x07fffffff, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x000000002, -0x080000002, -0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, -0x080000000, -0x000000002, 0x07ffffffe, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x000000003, -0x080000003, -0x07ffffffd, 0x180000000, 0x02aaaaaaa, -0x000000002, -0x080000000, -0x000000003, 0x07ffffffd, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x000000064, -0x080000064, -0x07fffff9c, 0x3200000000, 0x00147ae14, -0x000000030, -0x080000000, -0x000000064, 0x07fffff9c, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x000002711, -0x080002711, -0x07fffd8ef, 0x138880000000, 0x0000346c6, -0x0000022da, -0x080000000, -0x000002711, 0x07fffd8ef, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x07fffffff, -0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000001, -0x000000001, -0x080000000, -0x07fffffff, 0x000000001, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x080000000, -0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x080000000, -0x080000001, -0x100000001, 0x000000001, 0x4000000080000000, 0x000000000, -0x080000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x080000000, true);
	testInt64Binary(-0x080000000, -0x0c0000000, -0x140000000, 0x040000000, 0x6000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x040000000, 0x0c0000000, 0x080000000, true);
	testInt64Binary(-0x080000000, -0x100000000, -0x180000000, 0x080000000, -0x8000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x080000000, 0x080000000, 0x080000000, true);
	testInt64Binary(-0x080000000, -0x0ffffffff, -0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000000, -0x080000000, -0x100000000, -0x07fffffff, 0x080000001, 0x080000000, true);
	testInt64Binary(-0x080000000, -0x200000000, -0x280000000, 0x180000000, 0x000000000, 0x000000000, -0x080000000, -0x200000000, -0x080000000, 0x180000000, 0x180000000, true);
	testInt64Binary(-0x080000000, -0x7fffffffffffd8f0, 0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x7fffffff80000000, true);
	testInt64Binary(-0x080000000, -0x7fffffffffffffff, 0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000000, true);
	testInt64Binary(-0x080000000, -0x8000000000000000, 0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64Binary(-0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, 0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x000000000, -0x080000000, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x789abcdd00000000, true);
	testInt64Shift(-0x080000000, 0x000000000, -0x080000000, -0x080000000);
	testInt64Shift(-0x080000000, 0x000000001, -0x100000000, -0x040000000);
	testInt64Shift(-0x080000000, 0x000000002, -0x200000000, -0x020000000);
	testInt64Shift(-0x080000000, 0x000000003, -0x400000000, -0x010000000);
	testInt64Shift(-0x080000000, 0x00000000f, -0x400000000000, -0x000010000);
	testInt64Shift(-0x080000000, 0x000000010, -0x800000000000, -0x000008000);
	testInt64Shift(-0x080000000, 0x000000011, -0x1000000000000, -0x000004000);
	testInt64Shift(-0x080000000, 0x00000001f, -0x4000000000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x000000020, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x000000021, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x00000003d, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x00000003e, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000000, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test24() {
	testInt64Unary(-0x080000001, -0x080000001, 0x080000000, 0x080000001);
	testInt64Binary(-0x080000001, 0x000000000, -0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, -0x080000001, false);
	testInt64Binary(-0x080000001, 0x000000001, -0x080000000, -0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x000000001, -0x080000001, -0x080000002, -0x080000002, true);
	testInt64Binary(-0x080000001, 0x000000002, -0x07fffffff, -0x080000003, -0x100000002, -0x040000000, -0x000000001, 0x000000002, -0x080000001, -0x080000003, -0x080000003, true);
	testInt64Binary(-0x080000001, 0x000000003, -0x07ffffffe, -0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x000000003, -0x080000001, -0x080000004, -0x080000004, true);
	testInt64Binary(-0x080000001, 0x000000064, -0x07fffff9d, -0x080000065, -0x3200000064, -0x00147ae14, -0x000000031, 0x000000064, -0x080000001, -0x080000065, -0x080000065, true);
	testInt64Binary(-0x080000001, 0x000002711, -0x07fffd8f0, -0x080002712, -0x138880002711, -0x0000346c6, -0x0000022db, 0x000002711, -0x080000001, -0x080002712, -0x080002712, true);
	testInt64Binary(-0x080000001, 0x07fffffff, -0x000000002, -0x100000000, -0x3fffffffffffffff, -0x000000001, -0x000000002, 0x07fffffff, -0x080000001, -0x100000000, -0x100000000, true);
	testInt64Binary(-0x080000001, 0x080000000, -0x000000001, -0x100000001, -0x4000000080000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000001, true);
	testInt64Binary(-0x080000001, 0x080000001, 0x000000000, -0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000002, true);
	testInt64Binary(-0x080000001, 0x0c0000000, 0x03fffffff, -0x140000001, -0x60000000c0000000, 0x000000000, -0x080000001, 0x040000000, -0x000000001, -0x040000001, -0x0c0000001, true);
	testInt64Binary(-0x080000001, 0x0ffffffff, 0x07ffffffe, -0x180000000, 0x7fffffff80000001, 0x000000000, -0x080000001, 0x07fffffff, -0x000000001, -0x080000000, -0x100000000, true);
	testInt64Binary(-0x080000001, 0x100000000, 0x07fffffff, -0x180000001, 0x7fffffff00000000, 0x000000000, -0x080000001, 0x100000000, -0x080000001, -0x180000001, -0x180000001, true);
	testInt64Binary(-0x080000001, 0x100000001, 0x080000000, -0x180000002, 0x7ffffffe7fffffff, 0x000000000, -0x080000001, 0x100000001, -0x080000001, -0x180000002, -0x180000002, true);
	testInt64Binary(-0x080000001, 0x200000000, 0x17fffffff, -0x280000001, -0x200000000, 0x000000000, -0x080000001, 0x200000000, -0x080000001, -0x280000001, -0x280000001, true);
	testInt64Binary(-0x080000001, 0x7fffffffffffd8f0, 0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, -0x080000001, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, -0x7fffffffffffd8f1, true);
	testInt64Binary(-0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, -0x080000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64Binary(-0x080000001, 0x789abcdef0123456, 0x789abcde70123455, -0x789abcdf70123457, 0xf5c28f60fedcbaa, 0x000000000, -0x080000001, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, -0x789abcdef0123457, true);
	testInt64Binary(-0x080000001, -0x000000001, -0x080000002, -0x080000000, 0x080000001, 0x080000001, 0x000000000, -0x080000001, -0x000000001, 0x080000000, 0x000000000, true);
	testInt64Binary(-0x080000001, -0x000000002, -0x080000003, -0x07fffffff, 0x100000002, 0x040000000, -0x000000001, -0x080000002, -0x000000001, 0x080000001, 0x000000001, true);
	testInt64Binary(-0x080000001, -0x000000003, -0x080000004, -0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, -0x080000003, -0x000000001, 0x080000002, 0x000000002, true);
	testInt64Binary(-0x080000001, -0x000000064, -0x080000065, -0x07fffff9d, 0x3200000064, 0x00147ae14, -0x000000031, -0x080000064, -0x000000001, 0x080000063, 0x000000063, true);
	testInt64Binary(-0x080000001, -0x000002711, -0x080002712, -0x07fffd8f0, 0x138880002711, 0x0000346c6, -0x0000022db, -0x080002711, -0x000000001, 0x080002710, 0x000002710, true);
	testInt64Binary(-0x080000001, -0x07fffffff, -0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000001, -0x000000002, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x07ffffffe, true);
	testInt64Binary(-0x080000001, -0x080000000, -0x100000001, -0x000000001, 0x4000000080000000, 0x000000001, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x07fffffff, true);
	testInt64Binary(-0x080000001, -0x080000001, -0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, -0x080000001, -0x080000001, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x080000001, -0x0c0000000, -0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000000, -0x080000001, -0x0c0000000, -0x080000001, 0x03fffffff, 0x03fffffff, true);
	testInt64Binary(-0x080000001, -0x100000000, -0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000000, -0x080000001, -0x100000000, -0x080000001, 0x07fffffff, 0x07fffffff, true);
	testInt64Binary(-0x080000001, -0x0ffffffff, -0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000000, -0x080000001, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64Binary(-0x080000001, -0x200000000, -0x280000001, 0x17fffffff, 0x200000000, 0x000000000, -0x080000001, -0x200000000, -0x080000001, 0x17fffffff, 0x17fffffff, true);
	testInt64Binary(-0x080000001, -0x7fffffffffffd8f0, 0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, -0x080000001, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x7fffffff7fffd8ef, true);
	testInt64Binary(-0x080000001, -0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, -0x080000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64Binary(-0x080000001, -0x8000000000000000, 0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, -0x080000001, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64Binary(-0x080000001, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbab, 0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x000000000, -0x080000001, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x789abcdd0fedcba9, true);
	testInt64Shift(-0x080000001, 0x000000000, -0x080000001, -0x080000001);
	testInt64Shift(-0x080000001, 0x000000001, -0x100000002, -0x040000001);
	testInt64Shift(-0x080000001, 0x000000002, -0x200000004, -0x020000001);
	testInt64Shift(-0x080000001, 0x000000003, -0x400000008, -0x010000001);
	testInt64Shift(-0x080000001, 0x00000000f, -0x400000008000, -0x000010001);
	testInt64Shift(-0x080000001, 0x000000010, -0x800000010000, -0x000008001);
	testInt64Shift(-0x080000001, 0x000000011, -0x1000000020000, -0x000004001);
	testInt64Shift(-0x080000001, 0x00000001f, -0x4000000080000000, -0x000000002);
	testInt64Shift(-0x080000001, 0x000000020, 0x7fffffff00000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x000000021, -0x200000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x080000001, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test25() {
	testInt64Unary(-0x0c0000000, -0x0c0000000, 0x0bfffffff, 0x0c0000000);
	testInt64Binary(-0x0c0000000, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, -0x0c0000000, false);
	testInt64Binary(-0x0c0000000, 0x000000001, -0x0bfffffff, -0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, -0x0bfffffff, -0x0bfffffff, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x000000002, -0x0bffffffe, -0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x000000000, -0x0bffffffe, -0x0bffffffe, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x000000003, -0x0bffffffd, -0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x000000000, -0x0bffffffd, -0x0bffffffd, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x000000064, -0x0bfffff9c, -0x0c0000064, -0x4b00000000, -0x001eb851e, -0x000000048, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x000002711, -0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, -0x000000d36, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x07fffffff, -0x040000001, -0x13fffffff, -0x5fffffff40000000, -0x000000001, -0x040000001, 0x040000000, -0x080000001, -0x0c0000001, -0x100000000, true);
	testInt64Binary(-0x0c0000000, 0x080000000, -0x040000000, -0x140000000, -0x6000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x080000001, -0x03fffffff, -0x140000001, -0x60000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0c0000000, true);
	testInt64Binary(-0x0c0000000, 0x0c0000000, 0x000000000, -0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, -0x100000000, true);
	testInt64Binary(-0x0c0000000, 0x0ffffffff, 0x03fffffff, -0x1bfffffff, 0x40000000c0000000, 0x000000000, -0x0c0000000, 0x040000000, -0x000000001, -0x040000001, -0x100000000, true);
	testInt64Binary(-0x0c0000000, 0x100000000, 0x040000000, -0x1c0000000, 0x4000000000000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0c0000000, -0x1c0000000, -0x1c0000000, true);
	testInt64Binary(-0x0c0000000, 0x100000001, 0x040000001, -0x1c0000001, 0x3fffffff40000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0bfffffff, -0x1bfffffff, -0x1c0000000, true);
	testInt64Binary(-0x0c0000000, 0x200000000, 0x140000000, -0x2c0000000, -0x8000000000000000, 0x000000000, -0x0c0000000, 0x200000000, -0x0c0000000, -0x2c0000000, -0x2c0000000, true);
	testInt64Binary(-0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, -0x8000000000000000, true);
	testInt64Binary(-0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, -0x8000000000000000, true);
	testInt64Binary(-0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, -0x789abcdfb0123456, -0x340da74080000000, 0x000000000, -0x0c0000000, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, -0x789abcdf00000000, true);
	testInt64Binary(-0x0c0000000, -0x000000001, -0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x000000002, -0x0c0000002, -0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x000000003, -0x0c0000003, -0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x000000064, -0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x001eb851e, -0x000000048, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x000002711, -0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, -0x000000d36, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x07fffffff, -0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000001, -0x040000001, -0x100000000, -0x03fffffff, 0x0c0000001, 0x040000000, true);
	testInt64Binary(-0x0c0000000, -0x080000000, -0x140000000, -0x040000000, 0x6000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x040000000, 0x0c0000000, 0x040000000, true);
	testInt64Binary(-0x0c0000000, -0x080000001, -0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000001, -0x03fffffff, -0x0c0000000, -0x080000001, 0x03fffffff, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x0c0000000, -0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x0c0000000, -0x100000000, -0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64Binary(-0x0c0000000, -0x0ffffffff, -0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0bfffffff, 0x040000001, 0x040000000, true);
	testInt64Binary(-0x0c0000000, -0x200000000, -0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000000, -0x0c0000000, -0x200000000, -0x0c0000000, 0x140000000, 0x140000000, true);
	testInt64Binary(-0x0c0000000, -0x7fffffffffffd8f0, 0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x7fffffff40000000, true);
	testInt64Binary(-0x0c0000000, -0x7fffffffffffffff, 0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x7fffffff40000000, true);
	testInt64Binary(-0x0c0000000, -0x8000000000000000, 0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x7fffffff40000000, true);
	testInt64Binary(-0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, 0x789abcdc4fedcbaa, -0x340da74080000000, 0x000000000, -0x0c0000000, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x789abcdd00000000, true);
	testInt64Shift(-0x0c0000000, 0x000000000, -0x0c0000000, -0x0c0000000);
	testInt64Shift(-0x0c0000000, 0x000000001, -0x180000000, -0x060000000);
	testInt64Shift(-0x0c0000000, 0x000000002, -0x300000000, -0x030000000);
	testInt64Shift(-0x0c0000000, 0x000000003, -0x600000000, -0x018000000);
	testInt64Shift(-0x0c0000000, 0x00000000f, -0x600000000000, -0x000018000);
	testInt64Shift(-0x0c0000000, 0x000000010, -0xc00000000000, -0x00000c000);
	testInt64Shift(-0x0c0000000, 0x000000011, -0x1800000000000, -0x000006000);
	testInt64Shift(-0x0c0000000, 0x00000001f, -0x6000000000000000, -0x000000002);
	testInt64Shift(-0x0c0000000, 0x000000020, 0x4000000000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x000000021, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x00000003d, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x00000003e, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0c0000000, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test26() {
	testInt64Unary(-0x100000000, -0x100000000, 0x0ffffffff, 0x100000000);
	testInt64Binary(-0x100000000, 0x000000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x100000000, false);
	testInt64Binary(-0x100000000, 0x000000001, -0x0ffffffff, -0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x000000002, -0x0fffffffe, -0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x000000000, -0x0fffffffe, -0x0fffffffe, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x000000003, -0x0fffffffd, -0x100000003, -0x300000000, -0x055555555, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x000000064, -0x0ffffff9c, -0x100000064, -0x6400000000, -0x0028f5c28, -0x000000060, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x000002711, -0x0ffffd8ef, -0x100002711, -0x271100000000, -0x000068d8d, -0x000001ea3, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x07fffffff, -0x080000001, -0x17fffffff, -0x7fffffff00000000, -0x000000002, -0x000000002, 0x000000000, -0x080000001, -0x080000001, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x080000000, -0x080000000, -0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x080000001, -0x07fffffff, -0x180000001, 0x7fffffff00000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x0c0000000, -0x040000000, -0x1c0000000, 0x4000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x0ffffffff, -0x000000001, -0x1ffffffff, 0x100000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x100000000, true);
	testInt64Binary(-0x100000000, 0x100000000, 0x000000000, -0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, -0x200000000, true);
	testInt64Binary(-0x100000000, 0x100000001, 0x000000001, -0x200000001, -0x100000000, 0x000000000, -0x100000000, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64Binary(-0x100000000, 0x200000000, 0x100000000, -0x300000000, 0x000000000, 0x000000000, -0x100000000, 0x200000000, -0x100000000, -0x300000000, -0x300000000, true);
	testInt64Binary(-0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, -0x8000000000000000, true);
	testInt64Binary(-0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64Binary(-0x100000000, 0x789abcdef0123456, 0x789abcddf0123456, -0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, -0x100000000, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, -0x789abcdf00000000, true);
	testInt64Binary(-0x100000000, -0x000000001, -0x100000001, -0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x000000002, -0x100000002, -0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, -0x100000000, -0x000000002, 0x0fffffffe, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x000000003, -0x100000003, -0x0fffffffd, 0x300000000, 0x055555555, -0x000000001, -0x100000000, -0x000000003, 0x0fffffffd, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x000000064, -0x100000064, -0x0ffffff9c, 0x6400000000, 0x0028f5c28, -0x000000060, -0x100000000, -0x000000064, 0x0ffffff9c, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x000002711, -0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000068d8d, -0x000001ea3, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x07fffffff, -0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000002, -0x000000002, -0x100000000, -0x07fffffff, 0x080000001, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x080000000, -0x180000000, -0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, -0x100000000, -0x080000000, 0x080000000, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x080000001, -0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000001, -0x07fffffff, -0x100000000, -0x080000001, 0x07fffffff, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x0c0000000, -0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x100000000, -0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x0ffffffff, -0x1ffffffff, -0x000000001, -0x100000000, 0x000000001, -0x000000001, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000000, true);
	testInt64Binary(-0x100000000, -0x200000000, -0x300000000, 0x100000000, 0x000000000, 0x000000000, -0x100000000, -0x200000000, -0x100000000, 0x100000000, 0x100000000, true);
	testInt64Binary(-0x100000000, -0x7fffffffffffd8f0, 0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x7fffffff00000000, true);
	testInt64Binary(-0x100000000, -0x7fffffffffffffff, 0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000000, true);
	testInt64Binary(-0x100000000, -0x8000000000000000, 0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64Binary(-0x100000000, -0x789abcdd0fedcbaa, -0x789abcde0fedcbaa, 0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x000000000, -0x100000000, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x789abcdd00000000, true);
	testInt64Shift(-0x100000000, 0x000000000, -0x100000000, -0x100000000);
	testInt64Shift(-0x100000000, 0x000000001, -0x200000000, -0x080000000);
	testInt64Shift(-0x100000000, 0x000000002, -0x400000000, -0x040000000);
	testInt64Shift(-0x100000000, 0x000000003, -0x800000000, -0x020000000);
	testInt64Shift(-0x100000000, 0x00000000f, -0x800000000000, -0x000020000);
	testInt64Shift(-0x100000000, 0x000000010, -0x1000000000000, -0x000010000);
	testInt64Shift(-0x100000000, 0x000000011, -0x2000000000000, -0x000008000);
	testInt64Shift(-0x100000000, 0x00000001f, -0x8000000000000000, -0x000000002);
	testInt64Shift(-0x100000000, 0x000000020, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x000000021, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x00000003d, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x00000003e, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x100000000, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test27() {
	testInt64Unary(-0x0ffffffff, -0x0ffffffff, 0x0fffffffe, 0x0ffffffff);
	testInt64Binary(-0x0ffffffff, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x0ffffffff, false);
	testInt64Binary(-0x0ffffffff, 0x000000001, -0x0fffffffe, -0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000001, -0x0ffffffff, -0x100000000, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x000000002, -0x0fffffffd, -0x100000001, -0x1fffffffe, -0x07fffffff, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x0ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x000000003, -0x0fffffffc, -0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x000000001, -0x0fffffffd, -0x0fffffffe, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x000000064, -0x0ffffff9b, -0x100000063, -0x63ffffff9c, -0x0028f5c28, -0x00000005f, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, -0x0ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x000002711, -0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, -0x000068d8d, -0x000001ea2, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x07fffffff, -0x080000000, -0x17ffffffe, -0x7ffffffe80000001, -0x000000002, -0x000000001, 0x000000001, -0x080000001, -0x080000002, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x080000000, -0x07fffffff, -0x17fffffff, -0x7fffffff80000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x0ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x080000001, -0x07ffffffe, -0x180000000, 0x7fffffff80000001, -0x000000001, -0x07ffffffe, 0x000000001, -0x07fffffff, -0x080000000, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x0c0000000, -0x03fffffff, -0x1bfffffff, 0x40000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x0ffffffff, 0x000000000, -0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x100000000, true);
	testInt64Binary(-0x0ffffffff, 0x100000000, 0x000000001, -0x1ffffffff, 0x100000000, 0x000000000, -0x0ffffffff, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x1ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x100000001, 0x000000002, -0x200000000, 0x000000001, 0x000000000, -0x0ffffffff, 0x100000001, -0x0ffffffff, -0x200000000, -0x200000000, true);
	testInt64Binary(-0x0ffffffff, 0x200000000, 0x100000001, -0x2ffffffff, 0x200000000, 0x000000000, -0x0ffffffff, 0x200000000, -0x0ffffffff, -0x2ffffffff, -0x2ffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, -0x0ffffffff, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, -0x7fffffffffffffff, true);
	testInt64Binary(-0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, -0x0ffffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64Binary(-0x0ffffffff, 0x789abcdef0123456, 0x789abcddf0123457, -0x789abcdff0123455, -0x777777770fedcbaa, 0x000000000, -0x0ffffffff, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, -0x789abcdeffffffff, true);
	testInt64Binary(-0x0ffffffff, -0x000000001, -0x100000000, -0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x000000002, -0x100000001, -0x0fffffffd, 0x1fffffffe, 0x07fffffff, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000001, true);
	testInt64Binary(-0x0ffffffff, -0x000000003, -0x100000002, -0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x000000064, -0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, -0x00000005f, -0x100000000, -0x000000063, 0x0ffffff9d, 0x000000001, true);
	testInt64Binary(-0x0ffffffff, -0x000002711, -0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, -0x000001ea2, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x07fffffff, -0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000002, -0x000000001, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x080000000, -0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000001, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x000000001, true);
	testInt64Binary(-0x0ffffffff, -0x080000001, -0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000001, -0x07ffffffe, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x0c0000000, -0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000001, -0x03fffffff, -0x100000000, -0x0bfffffff, 0x040000001, 0x000000001, true);
	testInt64Binary(-0x0ffffffff, -0x100000000, -0x1ffffffff, 0x000000001, -0x100000000, 0x000000000, -0x0ffffffff, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000001, true);
	testInt64Binary(-0x0ffffffff, -0x0ffffffff, -0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x0ffffffff, -0x200000000, -0x2ffffffff, 0x100000001, -0x200000000, 0x000000000, -0x0ffffffff, -0x200000000, -0x0ffffffff, 0x100000001, 0x100000001, true);
	testInt64Binary(-0x0ffffffff, -0x7fffffffffffd8f0, 0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x7fffffff00000001, true);
	testInt64Binary(-0x0ffffffff, -0x7fffffffffffffff, 0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, -0x0ffffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64Binary(-0x0ffffffff, -0x8000000000000000, 0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000001, true);
	testInt64Binary(-0x0ffffffff, -0x789abcdd0fedcbaa, -0x789abcde0fedcba9, 0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x000000000, -0x0ffffffff, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x789abcdd00000001, true);
	testInt64Shift(-0x0ffffffff, 0x000000000, -0x0ffffffff, -0x0ffffffff);
	testInt64Shift(-0x0ffffffff, 0x000000001, -0x1fffffffe, -0x080000000);
	testInt64Shift(-0x0ffffffff, 0x000000002, -0x3fffffffc, -0x040000000);
	testInt64Shift(-0x0ffffffff, 0x000000003, -0x7fffffff8, -0x020000000);
	testInt64Shift(-0x0ffffffff, 0x00000000f, -0x7fffffff8000, -0x000020000);
	testInt64Shift(-0x0ffffffff, 0x000000010, -0xffffffff0000, -0x000010000);
	testInt64Shift(-0x0ffffffff, 0x000000011, -0x1fffffffe0000, -0x000008000);
	testInt64Shift(-0x0ffffffff, 0x00000001f, -0x7fffffff80000000, -0x000000002);
	testInt64Shift(-0x0ffffffff, 0x000000020, 0x100000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x000000021, 0x200000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x00000003d, 0x2000000000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x0ffffffff, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test28() {
	testInt64Unary(-0x200000000, -0x200000000, 0x1ffffffff, 0x200000000);
	testInt64Binary(-0x200000000, 0x000000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, -0x200000000, false);
	testInt64Binary(-0x200000000, 0x000000001, -0x1ffffffff, -0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x000000000, -0x1ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x000000002, -0x1fffffffe, -0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x000000000, -0x1fffffffe, -0x1fffffffe, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x000000003, -0x1fffffffd, -0x200000003, -0x600000000, -0x0aaaaaaaa, -0x000000002, 0x000000000, -0x1fffffffd, -0x1fffffffd, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x000000064, -0x1ffffff9c, -0x200000064, -0xc800000000, -0x0051eb851, -0x00000005c, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x000002711, -0x1ffffd8ef, -0x200002711, -0x4e2200000000, -0x0000d1b1b, -0x000001635, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x07fffffff, -0x180000001, -0x27fffffff, 0x200000000, -0x000000004, -0x000000004, 0x000000000, -0x180000001, -0x180000001, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x080000000, -0x180000000, -0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x000000000, -0x180000000, -0x180000000, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x080000001, -0x17fffffff, -0x280000001, -0x200000000, -0x000000003, -0x07ffffffd, 0x000000000, -0x17fffffff, -0x17fffffff, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x0c0000000, -0x140000000, -0x2c0000000, -0x8000000000000000, -0x000000002, -0x080000000, 0x000000000, -0x140000000, -0x140000000, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x0ffffffff, -0x100000001, -0x2ffffffff, 0x200000000, -0x000000002, -0x000000002, 0x000000000, -0x100000001, -0x100000001, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x100000000, -0x100000000, -0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x100000001, -0x0ffffffff, -0x300000001, -0x200000000, -0x000000001, -0x0ffffffff, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x200000000, true);
	testInt64Binary(-0x200000000, 0x200000000, 0x000000000, -0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, -0x400000000, true);
	testInt64Binary(-0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, -0x8000000000000000, true);
	testInt64Binary(-0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, -0x8000000000000000, true);
	testInt64Binary(-0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, -0x789abce0f0123456, 0x1fdb975400000000, 0x000000000, -0x200000000, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, -0x789abce000000000, true);
	testInt64Binary(-0x200000000, -0x000000001, -0x200000001, -0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, -0x200000000, -0x000000001, 0x1ffffffff, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x000000002, -0x200000002, -0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, -0x200000000, -0x000000002, 0x1fffffffe, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x000000003, -0x200000003, -0x1fffffffd, 0x600000000, 0x0aaaaaaaa, -0x000000002, -0x200000000, -0x000000003, 0x1fffffffd, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x000000064, -0x200000064, -0x1ffffff9c, 0xc800000000, 0x0051eb851, -0x00000005c, -0x200000000, -0x000000064, 0x1ffffff9c, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x000002711, -0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, -0x000001635, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x07fffffff, -0x27fffffff, -0x180000001, -0x200000000, 0x000000004, -0x000000004, -0x200000000, -0x07fffffff, 0x180000001, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x080000000, -0x280000000, -0x180000000, 0x000000000, 0x000000004, 0x000000000, -0x200000000, -0x080000000, 0x180000000, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x080000001, -0x280000001, -0x17fffffff, 0x200000000, 0x000000003, -0x07ffffffd, -0x200000000, -0x080000001, 0x17fffffff, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x0c0000000, -0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000002, -0x080000000, -0x200000000, -0x0c0000000, 0x140000000, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x100000000, -0x300000000, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x200000000, -0x100000000, 0x100000000, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x0ffffffff, -0x2ffffffff, -0x100000001, -0x200000000, 0x000000002, -0x000000002, -0x200000000, -0x0ffffffff, 0x100000001, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x200000000, -0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x200000000, -0x7fffffffffffd8f0, 0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x7ffffffe00000000, true);
	testInt64Binary(-0x200000000, -0x7fffffffffffffff, 0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x7ffffffe00000000, true);
	testInt64Binary(-0x200000000, -0x8000000000000000, 0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x7ffffffe00000000, true);
	testInt64Binary(-0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, 0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x000000000, -0x200000000, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x789abcdc00000000, true);
	testInt64Shift(-0x200000000, 0x000000000, -0x200000000, -0x200000000);
	testInt64Shift(-0x200000000, 0x000000001, -0x400000000, -0x100000000);
	testInt64Shift(-0x200000000, 0x000000002, -0x800000000, -0x080000000);
	testInt64Shift(-0x200000000, 0x000000003, -0x1000000000, -0x040000000);
	testInt64Shift(-0x200000000, 0x00000000f, -0x1000000000000, -0x000040000);
	testInt64Shift(-0x200000000, 0x000000010, -0x2000000000000, -0x000020000);
	testInt64Shift(-0x200000000, 0x000000011, -0x4000000000000, -0x000010000);
	testInt64Shift(-0x200000000, 0x00000001f, 0x000000000, -0x000000004);
	testInt64Shift(-0x200000000, 0x000000020, 0x000000000, -0x000000002);
	testInt64Shift(-0x200000000, 0x000000021, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x00000003d, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x00000003e, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x200000000, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test29() {
	testInt64Unary(-0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, false);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000000002, -0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000000003, -0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, -0x000000001, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000000064, -0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, -0x000000008, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x000002711, -0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, -0x00000203b, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x07fffffff, -0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, -0x07fffd8f1, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x080000000, -0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, -0x0ffffffff, -0x07fffd8f0, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x080000001, -0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, -0x07fffd8f3, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x0c0000000, -0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, -0x07fffd8f0, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x0ffffffff, -0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, -0x07fffd8f0, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x100000000, -0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, -0x07fffffff, -0x0ffffd8f0, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x100000001, -0x7ffffffeffffd8ef, 0x7fffffff0000270f, -0x7fffd8efffffd8f0, -0x07fffffff, -0x07fffd8f1, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x200000000, -0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, -0x1ffffd8f0, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, -0x7fffffffffffd900, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000002711, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, 0x000002710, -0x000000001, -0x000002711, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, 0x789abcdef0123456, -0x76543210feda49a, 0x76543210fedf2ba, 0x1c71c481c71c5f60, -0x000000001, -0x76543210feda49a, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, -0x7ffffffffffffd00, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, -0x000000001, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x000000064, -0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, -0x000000008, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x000002711, 0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, -0x00000203b, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x07fffffff, 0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, -0x07fffd8f1, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x080000000, 0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, -0x07fffd8f0, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x080000001, 0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, -0x07fffd8f3, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x0c0000000, 0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, -0x07fffd8f0, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x100000000, 0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, -0x0ffffd8f0, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x0ffffffff, 0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, -0x07fffd8f0, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x200000000, 0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, -0x1ffffd8f0, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x7fffffffffffffff, 0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x8000000000000000, 0x000002710, 0x000002710, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000002710, true);
	testInt64Binary(-0x7fffffffffffd8f0, -0x789abcdd0fedcbaa, 0x7654322f0125b66, -0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000001, -0x7654322f0120d46, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x000000300, true);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000001, 0x000004e20, -0x3fffffffffffec78);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000002, 0x000009c40, -0x1ffffffffffff63c);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000003, 0x000013880, -0xffffffffffffb1e);
	testInt64Shift(-0x7fffffffffffd8f0, 0x00000000f, 0x013880000, -0x1000000000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000010, 0x027100000, -0x800000000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000011, 0x04e200000, -0x400000000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x00000001f, 0x138800000000, -0x100000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000020, 0x271000000000, -0x080000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000021, 0x4e2000000000, -0x040000000);
	testInt64Shift(-0x7fffffffffffd8f0, 0x00000003d, 0x000000000, -0x000000004);
	testInt64Shift(-0x7fffffffffffd8f0, 0x00000003e, 0x000000000, -0x000000002);
	testInt64Shift(-0x7fffffffffffd8f0, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffd8f0, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test30() {
	testInt64Unary(-0x7fffffffffffffff, -0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7fffffffffffffff);
	testInt64Binary(-0x7fffffffffffffff, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x7fffffffffffffff, false);
	testInt64Binary(-0x7fffffffffffffff, 0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x000000002, -0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, -0x000000001, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x000000003, -0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, -0x000000001, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x000000064, -0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, -0x000000007, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x000002711, -0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, -0x000002039, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x07fffffff, -0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, -0x000000001, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x080000000, -0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, -0x0ffffffff, -0x07fffffff, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x080000001, -0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, -0x000000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x0c0000000, -0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, -0x07fffffff, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x0ffffffff, -0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, -0x07fffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x100000000, -0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, -0x07fffffff, -0x0ffffffff, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x100000001, -0x7ffffffefffffffe, 0x7fffffff00000000, -0x7ffffffeffffffff, -0x07fffffff, -0x080000000, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x200000000, -0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, -0x03fffffff, -0x1ffffffff, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x7fffffffffffd8f0, -0x00000270f, 0x000002711, 0x7fffffffffffd8f0, -0x000000001, -0x00000270f, 0x000000000, -0x00000270f, -0x00000270f, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x8000000000000000, true);
	testInt64Binary(-0x7fffffffffffffff, 0x789abcdef0123456, -0x76543210fedcba9, 0x76543210fedcbab, 0x789abcdef0123456, -0x000000001, -0x76543210fedcba9, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, -0x7fffffffffffffff, true);
	testInt64Binary(-0x7fffffffffffffff, -0x000000001, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x000000002, 0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, -0x000000001, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x000000064, 0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, -0x000000007, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, -0x000002039, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, -0x000000001, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x080000000, 0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x080000001, 0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, -0x000000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x0c0000000, 0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, -0x07fffffff, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x100000000, 0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x07fffffff, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, -0x07fffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x200000000, 0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x03fffffff, -0x1ffffffff, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x7fffffffffffd8f0, 0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000001, -0x00000270f, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x7fffffffffffffff, -0x8000000000000000, 0x000000001, 0x000000001, -0x8000000000000000, 0x000000000, -0x7fffffffffffffff, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000001, true);
	testInt64Binary(-0x7fffffffffffffff, -0x789abcdd0fedcbaa, 0x7654322f0123457, -0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000001, -0x7654322f0123455, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x000000001, true);
	testInt64Shift(-0x7fffffffffffffff, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff);
	testInt64Shift(-0x7fffffffffffffff, 0x000000001, 0x000000002, -0x4000000000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000002, 0x000000004, -0x2000000000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000003, 0x000000008, -0x1000000000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x00000000f, 0x000008000, -0x1000000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000010, 0x000010000, -0x800000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000011, 0x000020000, -0x400000000000);
	testInt64Shift(-0x7fffffffffffffff, 0x00000001f, 0x080000000, -0x100000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000020, 0x100000000, -0x080000000);
	testInt64Shift(-0x7fffffffffffffff, 0x000000021, 0x200000000, -0x040000000);
	testInt64Shift(-0x7fffffffffffffff, 0x00000003d, 0x2000000000000000, -0x000000004);
	testInt64Shift(-0x7fffffffffffffff, 0x00000003e, 0x4000000000000000, -0x000000002);
	testInt64Shift(-0x7fffffffffffffff, 0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x7fffffffffffffff, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test31() {
	testInt64Unary(-0x8000000000000000, -0x8000000000000000, 0x7fffffffffffffff, -0x8000000000000000);
	testInt64Binary(-0x8000000000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, -0x8000000000000000, false);
	testInt64Binary(-0x8000000000000000, 0x000000001, -0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x000000002, -0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, -0x4000000000000000, 0x000000000, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x000000003, -0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, -0x2aaaaaaaaaaaaaaa, -0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x000000064, -0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, -0x147ae147ae147ae, -0x000000008, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x000002711, -0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, -0x346c6e4615f66, -0x00000203a, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x07fffffff, -0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, -0x100000002, -0x000000002, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x080000000, -0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, -0x100000000, 0x000000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x080000001, -0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, -0x0fffffffe, -0x000000002, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x0c0000000, -0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, -0x0aaaaaaaa, -0x080000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x0ffffffff, -0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, -0x080000000, -0x080000000, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x100000000, -0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, -0x080000000, 0x000000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x100000001, -0x7ffffffeffffffff, 0x7ffffffeffffffff, -0x8000000000000000, -0x07fffffff, -0x080000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x200000000, -0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, -0x040000000, 0x000000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x7fffffffffffd8f0, -0x000002710, 0x000002710, 0x000000000, -0x000000001, -0x000002710, 0x000000000, -0x000002710, -0x000002710, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x7fffffffffffffff, -0x000000001, 0x000000001, -0x8000000000000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, 0x789abcdef0123456, -0x76543210fedcbaa, 0x76543210fedcbaa, 0x000000000, -0x000000001, -0x76543210fedcbaa, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, -0x8000000000000000, true);
	testInt64Binary(-0x8000000000000000, -0x000000001, 0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000000, false);
	testInt64Binary(-0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x4000000000000000, 0x000000000, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x2aaaaaaaaaaaaaaa, -0x000000002, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x147ae147ae147ae, -0x000000008, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x346c6e4615f66, -0x00000203a, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x100000002, -0x000000002, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x080000000, 0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x100000000, 0x000000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x0fffffffe, -0x000000002, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x0aaaaaaaa, -0x080000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x100000000, 0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x080000000, 0x000000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x080000000, -0x080000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x200000000, 0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x040000000, 0x000000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, -0x000002710, 0x000000000, 0x000000001, -0x000002710, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x7fffffffffffffff, 0x000000001, -0x000000001, -0x8000000000000000, 0x000000001, -0x000000001, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, true);
	testInt64Binary(-0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, -0x7654322f0123456, 0x000000000, 0x000000001, -0x7654322f0123456, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x000000000, true);
	testInt64Shift(-0x8000000000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000);
	testInt64Shift(-0x8000000000000000, 0x000000001, 0x000000000, -0x4000000000000000);
	testInt64Shift(-0x8000000000000000, 0x000000002, 0x000000000, -0x2000000000000000);
	testInt64Shift(-0x8000000000000000, 0x000000003, 0x000000000, -0x1000000000000000);
	testInt64Shift(-0x8000000000000000, 0x00000000f, 0x000000000, -0x1000000000000);
	testInt64Shift(-0x8000000000000000, 0x000000010, 0x000000000, -0x800000000000);
	testInt64Shift(-0x8000000000000000, 0x000000011, 0x000000000, -0x400000000000);
	testInt64Shift(-0x8000000000000000, 0x00000001f, 0x000000000, -0x100000000);
	testInt64Shift(-0x8000000000000000, 0x000000020, 0x000000000, -0x080000000);
	testInt64Shift(-0x8000000000000000, 0x000000021, 0x000000000, -0x040000000);
	testInt64Shift(-0x8000000000000000, 0x00000003d, 0x000000000, -0x000000004);
	testInt64Shift(-0x8000000000000000, 0x00000003e, 0x000000000, -0x000000002);
	testInt64Shift(-0x8000000000000000, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x8000000000000000, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test32() {
	testInt64Unary(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x789abcdd0fedcba9, 0x789abcdd0fedcbaa);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, false);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000000001, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000000002, -0x789abcdd0fedcba8, -0x789abcdd0fedcbac, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5, 0x000000000, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, -0x789abcdd0fedcbac, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000000003, -0x789abcdd0fedcba7, -0x789abcdd0fedcbad, -0x69d036972fc962fe, -0x28339449aff9ee8e, 0x000000000, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbac, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000000064, -0x789abcdd0fedcb46, -0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, -0x134bf542170753c, -0x00000003a, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, -0x789abcdd0fedcbee, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x000002711, -0x789abcdd0feda499, -0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, -0x316507302c9ce, -0x0000002fc, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, -0x789abcdd0fedefba, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x07fffffff, -0x789abcdc8fedcbab, -0x789abcdd8fedcba9, -0xf5c28f7f0123456, -0x0f13579bc, -0x001234566, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, -0x789abcdd80000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x080000000, -0x789abcdc8fedcbaa, -0x789abcdd8fedcbaa, 0x78091a2b00000000, -0x0f13579ba, -0x00fedcbaa, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, -0x789abcdd8fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x080000001, -0x789abcdc8fedcba9, -0x789abcdd8fedcbab, -0x91a2b20fedcbaa, -0x0f13579b8, -0x01eb851f2, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, -0x789abcdd8fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x0c0000000, -0x789abcdc4fedcbaa, -0x789abcddcfedcbaa, 0x340da74080000000, -0x0a0ce5126, -0x08fedcbaa, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, -0x789abcddcfedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x0ffffffff, -0x789abcdc0fedcbab, -0x789abcde0fedcba9, 0x68acf1330fedcbaa, -0x0789abcdd, -0x088888887, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, -0x789abcde00000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x100000000, -0x789abcdc0fedcbaa, -0x789abcde0fedcbaa, -0xfedcbaa00000000, -0x0789abcdd, -0x00fedcbaa, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, -0x789abcdd0fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x100000001, -0x789abcdc0fedcba9, -0x789abcde0fedcbab, 0x77777778f0123456, -0x0789abcdc, -0x097530ece, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x200000000, -0x789abcdb0fedcbaa, -0x789abcdf0fedcbaa, -0x1fdb975400000000, -0x03c4d5e6e, -0x10fedcbaa, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, -0x789abcdf0fedcbaa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x7fffffffffffd8f0, 0x7654322f0120d46, 0x7654322f0125b66, 0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, -0x7fffffffffffdbfa, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x7fffffffffffffff, 0x7654322f0123455, 0x7654322f0123457, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, -0x8000000000000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, 0x789abcdef0123456, 0x1e02468ac, 0xeca864400000000, -0x1edddc935934f31c, 0x000000000, -0x789abcdd0fedcbaa, 0x2f0123456, -0x10fedcbaa, -0x400000000, -0x789abce000000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x000000001, -0x789abcdd0fedcbab, -0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x000000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x000000002, -0x789abcdd0fedcbac, -0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x3c4d5e6e87f6e5d5, 0x000000000, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x000000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x000000003, -0x789abcdd0fedcbad, -0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x28339449aff9ee8e, 0x000000000, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x000000002, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x000000064, -0x789abcdd0fedcc0e, -0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x134bf542170753c, -0x00000003a, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x000000042, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x000002711, -0x789abcdd0fedf2bb, -0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x316507302c9ce, -0x0000002fc, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x000002410, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x07fffffff, -0x789abcdd8fedcba9, -0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x0f13579bc, -0x001234566, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x070123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x080000000, -0x789abcdd8fedcbaa, -0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x0f13579ba, -0x00fedcbaa, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x070123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x080000001, -0x789abcdd8fedcbab, -0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x0f13579b8, -0x01eb851f2, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x080000000, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x0c0000000, -0x789abcddcfedcbaa, -0x789abcdc4fedcbaa, -0x340da74080000000, 0x0a0ce5126, -0x08fedcbaa, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x0b0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x100000000, -0x789abcde0fedcbaa, -0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x0789abcdd, -0x00fedcbaa, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x0f0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x0ffffffff, -0x789abcde0fedcba9, -0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x0789abcdd, -0x088888887, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x0f0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x200000000, -0x789abcdf0fedcbaa, -0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x03c4d5e6e, -0x10fedcbaa, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x0f0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x7fffffffffffd8f0, 0x7654322f0125b66, 0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x7654322f0121046, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x7fffffffffffffff, 0x7654322f0123457, 0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x7654322f0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x8000000000000000, 0x7654322f0123456, 0x7654322f0123456, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x7654322f0123456, true);
	testInt64Binary(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0xeca8645e02468ac, 0x000000000, 0x2d390e44a6cb0ce4, 0x000000001, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, true);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000001, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000002, 0x1d950c8bc048d158, -0x1e26af3743fb72eb);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000003, 0x3b2a19178091a2b0, -0xf13579ba1fdb976);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x00000000f, -0x5e6e87f6e5d50000, -0xf13579ba1fdc);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000010, 0x4322f01234560000, -0x789abcdd0fee);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000011, -0x79ba1fdb97540000, -0x3c4d5e6e87f7);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x00000001f, 0x78091a2b00000000, -0x0f13579bb);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000020, -0xfedcbaa00000000, -0x0789abcde);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000021, -0x1fdb975400000000, -0x03c4d5e6f);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x00000003d, -0x4000000000000000, -0x000000004);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x00000003e, -0x8000000000000000, -0x000000002);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x00000003f, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000040, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x000000041, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x0ffffffff, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x100000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x100000001, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x1000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0x8000000000000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64Shift(-0x789abcdd0fedcbaa, 0xffffffffffffffff, 0x000000000, -0x000000001);
}
func test33() {
	testUint64Unary(0x000000000, 0x000000000, 0xffffffffffffffff, 0x000000000);
	testUint64Binary(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testUint64Binary(0x000000000, 0x000000001, 0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testUint64Binary(0x000000000, 0x000000002, 0x000000002, 0xfffffffffffffffe, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testUint64Binary(0x000000000, 0x000000003, 0x000000003, 0xfffffffffffffffd, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testUint64Binary(0x000000000, 0x000000064, 0x000000064, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testUint64Binary(0x000000000, 0x000002711, 0x000002711, 0xffffffffffffd8ef, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testUint64Binary(0x000000000, 0x07fffffff, 0x07fffffff, 0xffffffff80000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testUint64Binary(0x000000000, 0x080000000, 0x080000000, 0xffffffff80000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0x080000001, 0x080000001, 0xffffffff7fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testUint64Binary(0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffff40000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0x0ffffffff, 0x0ffffffff, 0xffffffff00000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64Binary(0x000000000, 0x100000000, 0x100000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0x100000001, 0x100000001, 0xfffffffeffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testUint64Binary(0x000000000, 0x200000000, 0x200000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x8000000000002710, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testUint64Binary(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x8000000000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testUint64Binary(0x000000000, 0xc000000000000000, 0xc000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, true);
	testUint64Binary(0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, true);
	testUint64Binary(0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, true);
	testUint64Binary(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x876543210fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testUint64Binary(0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x123456789abcdf0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, true);
	testUint64Shift(0x000000000, 0x000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000002, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000003, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x00000000f, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000010, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000011, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x00000001f, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000020, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000021, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x00000003d, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test34() {
	testUint64Unary(0x000000001, 0x000000001, 0xfffffffffffffffe, 0xffffffffffffffff);
	testUint64Binary(0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testUint64Binary(0x000000001, 0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testUint64Binary(0x000000001, 0x000000002, 0x000000003, 0xffffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testUint64Binary(0x000000001, 0x000000003, 0x000000004, 0xfffffffffffffffe, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testUint64Binary(0x000000001, 0x000000064, 0x000000065, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testUint64Binary(0x000000001, 0x000002711, 0x000002712, 0xffffffffffffd8f0, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testUint64Binary(0x000000001, 0x07fffffff, 0x080000000, 0xffffffff80000002, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testUint64Binary(0x000000001, 0x080000000, 0x080000001, 0xffffffff80000001, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0x080000001, 0x080000002, 0xffffffff80000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testUint64Binary(0x000000001, 0x0c0000000, 0x0c0000001, 0xffffffff40000001, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0x0ffffffff, 0x100000000, 0xffffffff00000002, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testUint64Binary(0x000000001, 0x100000000, 0x100000001, 0xffffffff00000001, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0x100000001, 0x100000002, 0xffffffff00000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testUint64Binary(0x000000001, 0x200000000, 0x200000001, 0xfffffffe00000001, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0x7fffffffffffd8f0, 0x7fffffffffffd8f1, 0x8000000000002711, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testUint64Binary(0x000000001, 0x7fffffffffffffff, 0x8000000000000000, 0x8000000000000002, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testUint64Binary(0x000000001, 0xc000000000000000, 0xc000000000000001, 0x4000000000000001, 0xc000000000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0xffffffff00000000, 0xffffffff00000001, 0x100000001, 0xffffffff00000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0x000000001, true);
	testUint64Binary(0x000000001, 0xffffffffffffff9c, 0xffffffffffffff9d, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000001, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0x000000001, true);
	testUint64Binary(0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000002, 0xffffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, true);
	testUint64Binary(0x000000001, 0x789abcdef0123456, 0x789abcdef0123457, 0x876543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testUint64Binary(0x000000001, 0xfedcba9876543210, 0xfedcba9876543211, 0x123456789abcdf1, 0xfedcba9876543210, 0x000000000, 0x000000001, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0x000000001, true);
	testUint64Shift(0x000000001, 0x000000000, 0x000000001, 0x000000001);
	testUint64Shift(0x000000001, 0x000000001, 0x000000002, 0x000000000);
	testUint64Shift(0x000000001, 0x000000002, 0x000000004, 0x000000000);
	testUint64Shift(0x000000001, 0x000000003, 0x000000008, 0x000000000);
	testUint64Shift(0x000000001, 0x00000000f, 0x000008000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000010, 0x000010000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000011, 0x000020000, 0x000000000);
	testUint64Shift(0x000000001, 0x00000001f, 0x080000000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000020, 0x100000000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000021, 0x200000000, 0x000000000);
	testUint64Shift(0x000000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test35() {
	testUint64Unary(0x000000002, 0x000000002, 0xfffffffffffffffd, 0xfffffffffffffffe);
	testUint64Binary(0x000000002, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testUint64Binary(0x000000002, 0x000000001, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testUint64Binary(0x000000002, 0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testUint64Binary(0x000000002, 0x000000003, 0x000000005, 0xffffffffffffffff, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testUint64Binary(0x000000002, 0x000000064, 0x000000066, 0xffffffffffffff9e, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testUint64Binary(0x000000002, 0x000002711, 0x000002713, 0xffffffffffffd8f1, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testUint64Binary(0x000000002, 0x07fffffff, 0x080000001, 0xffffffff80000003, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testUint64Binary(0x000000002, 0x080000000, 0x080000002, 0xffffffff80000002, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0x080000001, 0x080000003, 0xffffffff80000001, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testUint64Binary(0x000000002, 0x0c0000000, 0x0c0000002, 0xffffffff40000002, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0x0ffffffff, 0x100000001, 0xffffffff00000003, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testUint64Binary(0x000000002, 0x100000000, 0x100000002, 0xffffffff00000002, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0x100000001, 0x100000003, 0xffffffff00000001, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testUint64Binary(0x000000002, 0x200000000, 0x200000002, 0xfffffffe00000002, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0x7fffffffffffd8f0, 0x7fffffffffffd8f2, 0x8000000000002712, 0xffffffffffffb1e0, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testUint64Binary(0x000000002, 0x7fffffffffffffff, 0x8000000000000001, 0x8000000000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testUint64Binary(0x000000002, 0xc000000000000000, 0xc000000000000002, 0x4000000000000002, 0x8000000000000000, 0x000000000, 0x000000002, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0xffffffff00000000, 0xffffffff00000002, 0x100000002, 0xfffffffe00000000, 0x000000000, 0x000000002, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0x000000002, true);
	testUint64Binary(0x000000002, 0xffffffffffffff9c, 0xffffffffffffff9e, 0x000000066, 0xffffffffffffff38, 0x000000000, 0x000000002, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0x000000002, true);
	testUint64Binary(0x000000002, 0xffffffffffffffff, 0x000000001, 0x000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0x000000000, true);
	testUint64Binary(0x000000002, 0x789abcdef0123456, 0x789abcdef0123458, 0x876543210fedcbac, 0xf13579bde02468ac, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testUint64Binary(0x000000002, 0xfedcba9876543210, 0xfedcba9876543212, 0x123456789abcdf2, 0xfdb97530eca86420, 0x000000000, 0x000000002, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0x000000002, true);
	testUint64Shift(0x000000002, 0x000000000, 0x000000002, 0x000000002);
	testUint64Shift(0x000000002, 0x000000001, 0x000000004, 0x000000001);
	testUint64Shift(0x000000002, 0x000000002, 0x000000008, 0x000000000);
	testUint64Shift(0x000000002, 0x000000003, 0x000000010, 0x000000000);
	testUint64Shift(0x000000002, 0x00000000f, 0x000010000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000010, 0x000020000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000011, 0x000040000, 0x000000000);
	testUint64Shift(0x000000002, 0x00000001f, 0x100000000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000020, 0x200000000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000021, 0x400000000, 0x000000000);
	testUint64Shift(0x000000002, 0x00000003d, 0x4000000000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x00000003e, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000002, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test36() {
	testUint64Unary(0x000000003, 0x000000003, 0xfffffffffffffffc, 0xfffffffffffffffd);
	testUint64Binary(0x000000003, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testUint64Binary(0x000000003, 0x000000001, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testUint64Binary(0x000000003, 0x000000002, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testUint64Binary(0x000000003, 0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testUint64Binary(0x000000003, 0x000000064, 0x000000067, 0xffffffffffffff9f, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testUint64Binary(0x000000003, 0x000002711, 0x000002714, 0xffffffffffffd8f2, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testUint64Binary(0x000000003, 0x07fffffff, 0x080000002, 0xffffffff80000004, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testUint64Binary(0x000000003, 0x080000000, 0x080000003, 0xffffffff80000003, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0x080000001, 0x080000004, 0xffffffff80000002, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testUint64Binary(0x000000003, 0x0c0000000, 0x0c0000003, 0xffffffff40000003, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0x0ffffffff, 0x100000002, 0xffffffff00000004, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testUint64Binary(0x000000003, 0x100000000, 0x100000003, 0xffffffff00000003, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0x100000001, 0x100000004, 0xffffffff00000002, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testUint64Binary(0x000000003, 0x200000000, 0x200000003, 0xfffffffe00000003, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0x7fffffffffffd8f0, 0x7fffffffffffd8f3, 0x8000000000002713, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testUint64Binary(0x000000003, 0x7fffffffffffffff, 0x8000000000000002, 0x8000000000000004, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testUint64Binary(0x000000003, 0xc000000000000000, 0xc000000000000003, 0x4000000000000003, 0x4000000000000000, 0x000000000, 0x000000003, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0xffffffff00000000, 0xffffffff00000003, 0x100000003, 0xfffffffd00000000, 0x000000000, 0x000000003, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0x000000003, true);
	testUint64Binary(0x000000003, 0xffffffffffffff9c, 0xffffffffffffff9f, 0x000000067, 0xfffffffffffffed4, 0x000000000, 0x000000003, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0x000000003, true);
	testUint64Binary(0x000000003, 0xffffffffffffffff, 0x000000002, 0x000000004, 0xfffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0x000000000, true);
	testUint64Binary(0x000000003, 0x789abcdef0123456, 0x789abcdef0123459, 0x876543210fedcbad, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testUint64Binary(0x000000003, 0xfedcba9876543210, 0xfedcba9876543213, 0x123456789abcdf3, 0xfc962fc962fc9630, 0x000000000, 0x000000003, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0x000000003, true);
	testUint64Shift(0x000000003, 0x000000000, 0x000000003, 0x000000003);
	testUint64Shift(0x000000003, 0x000000001, 0x000000006, 0x000000001);
	testUint64Shift(0x000000003, 0x000000002, 0x00000000c, 0x000000000);
	testUint64Shift(0x000000003, 0x000000003, 0x000000018, 0x000000000);
	testUint64Shift(0x000000003, 0x00000000f, 0x000018000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000010, 0x000030000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000011, 0x000060000, 0x000000000);
	testUint64Shift(0x000000003, 0x00000001f, 0x180000000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000020, 0x300000000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000021, 0x600000000, 0x000000000);
	testUint64Shift(0x000000003, 0x00000003d, 0x6000000000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000003, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test37() {
	testUint64Unary(0x000000064, 0x000000064, 0xffffffffffffff9b, 0xffffffffffffff9c);
	testUint64Binary(0x000000064, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testUint64Binary(0x000000064, 0x000000001, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testUint64Binary(0x000000064, 0x000000002, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testUint64Binary(0x000000064, 0x000000003, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testUint64Binary(0x000000064, 0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testUint64Binary(0x000000064, 0x000002711, 0x000002775, 0xffffffffffffd953, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testUint64Binary(0x000000064, 0x07fffffff, 0x080000063, 0xffffffff80000065, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testUint64Binary(0x000000064, 0x080000000, 0x080000064, 0xffffffff80000064, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0x080000001, 0x080000065, 0xffffffff80000063, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testUint64Binary(0x000000064, 0x0c0000000, 0x0c0000064, 0xffffffff40000064, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0x0ffffffff, 0x100000063, 0xffffffff00000065, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testUint64Binary(0x000000064, 0x100000000, 0x100000064, 0xffffffff00000064, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0x100000001, 0x100000065, 0xffffffff00000063, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testUint64Binary(0x000000064, 0x200000000, 0x200000064, 0xfffffffe00000064, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0x7fffffffffffd8f0, 0x7fffffffffffd954, 0x8000000000002774, 0xfffffffffff0bdc0, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testUint64Binary(0x000000064, 0x7fffffffffffffff, 0x8000000000000063, 0x8000000000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testUint64Binary(0x000000064, 0xc000000000000000, 0xc000000000000064, 0x4000000000000064, 0x000000000, 0x000000000, 0x000000064, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0xffffffff00000000, 0xffffffff00000064, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x000000064, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0x000000064, true);
	testUint64Binary(0x000000064, 0xffffffffffffff9c, 0x000000000, 0x0000000c8, 0xffffffffffffd8f0, 0x000000000, 0x000000064, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0x000000060, true);
	testUint64Binary(0x000000064, 0xffffffffffffffff, 0x000000063, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0x000000000, true);
	testUint64Binary(0x000000064, 0x789abcdef0123456, 0x789abcdef01234ba, 0x876543210fedcc0e, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testUint64Binary(0x000000064, 0xfedcba9876543210, 0xfedcba9876543274, 0x123456789abce54, 0x8e38e38e38e38e40, 0x000000000, 0x000000064, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0x000000064, true);
	testUint64Shift(0x000000064, 0x000000000, 0x000000064, 0x000000064);
	testUint64Shift(0x000000064, 0x000000001, 0x0000000c8, 0x000000032);
	testUint64Shift(0x000000064, 0x000000002, 0x000000190, 0x000000019);
	testUint64Shift(0x000000064, 0x000000003, 0x000000320, 0x00000000c);
	testUint64Shift(0x000000064, 0x00000000f, 0x000320000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000010, 0x000640000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000011, 0x000c80000, 0x000000000);
	testUint64Shift(0x000000064, 0x00000001f, 0x3200000000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000020, 0x6400000000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000021, 0xc800000000, 0x000000000);
	testUint64Shift(0x000000064, 0x00000003d, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000000064, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test38() {
	testUint64Unary(0x000002711, 0x000002711, 0xffffffffffffd8ee, 0xffffffffffffd8ef);
	testUint64Binary(0x000002711, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testUint64Binary(0x000002711, 0x000000001, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testUint64Binary(0x000002711, 0x000000002, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testUint64Binary(0x000002711, 0x000000003, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testUint64Binary(0x000002711, 0x000000064, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testUint64Binary(0x000002711, 0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testUint64Binary(0x000002711, 0x07fffffff, 0x080002710, 0xffffffff80002712, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testUint64Binary(0x000002711, 0x080000000, 0x080002711, 0xffffffff80002711, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0x080000001, 0x080002712, 0xffffffff80002710, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testUint64Binary(0x000002711, 0x0c0000000, 0x0c0002711, 0xffffffff40002711, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0x0ffffffff, 0x100002710, 0xffffffff00002712, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testUint64Binary(0x000002711, 0x100000000, 0x100002711, 0xffffffff00002711, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0x100000001, 0x100002712, 0xffffffff00002710, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testUint64Binary(0x000002711, 0x200000000, 0x200002711, 0xfffffffe00002711, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0x7fffffffffffd8f0, 0x8000000000000001, 0x8000000000004e21, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testUint64Binary(0x000002711, 0x7fffffffffffffff, 0x8000000000002710, 0x8000000000002712, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testUint64Binary(0x000002711, 0xc000000000000000, 0xc000000000002711, 0x4000000000002711, 0xc000000000000000, 0x000000000, 0x000002711, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0xffffffff00000000, 0xffffffff00002711, 0x100002711, 0xffffd8ef00000000, 0x000000000, 0x000002711, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0x000002711, true);
	testUint64Binary(0x000002711, 0xffffffffffffff9c, 0x0000026ad, 0x000002775, 0xfffffffffff0bd5c, 0x000000000, 0x000002711, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0x000000001, true);
	testUint64Binary(0x000002711, 0xffffffffffffffff, 0x000002710, 0x000002712, 0xffffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0x000000000, true);
	testUint64Binary(0x000002711, 0x789abcdef0123456, 0x789abcdef0125b67, 0x876543210fedf2bb, 0x950c8160b72e93b6, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testUint64Binary(0x000002711, 0xfedcba9876543210, 0xfedcba9876545921, 0x123456789abf501, 0x8d159e26af37c310, 0x000000000, 0x000002711, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0x000000501, true);
	testUint64Shift(0x000002711, 0x000000000, 0x000002711, 0x000002711);
	testUint64Shift(0x000002711, 0x000000001, 0x000004e22, 0x000001388);
	testUint64Shift(0x000002711, 0x000000002, 0x000009c44, 0x0000009c4);
	testUint64Shift(0x000002711, 0x000000003, 0x000013888, 0x0000004e2);
	testUint64Shift(0x000002711, 0x00000000f, 0x013888000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000010, 0x027110000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000011, 0x04e220000, 0x000000000);
	testUint64Shift(0x000002711, 0x00000001f, 0x138880000000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000020, 0x271100000000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000021, 0x4e2200000000, 0x000000000);
	testUint64Shift(0x000002711, 0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x000002711, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test39() {
	testUint64Unary(0x07fffffff, 0x07fffffff, 0xffffffff80000000, 0xffffffff80000001);
	testUint64Binary(0x07fffffff, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testUint64Binary(0x07fffffff, 0x000000001, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64Binary(0x07fffffff, 0x000000002, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testUint64Binary(0x07fffffff, 0x000000003, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testUint64Binary(0x07fffffff, 0x000000064, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testUint64Binary(0x07fffffff, 0x000002711, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testUint64Binary(0x07fffffff, 0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testUint64Binary(0x07fffffff, 0x080000000, 0x0ffffffff, 0xffffffffffffffff, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testUint64Binary(0x07fffffff, 0x080000001, 0x100000000, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testUint64Binary(0x07fffffff, 0x0c0000000, 0x13fffffff, 0xffffffffbfffffff, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testUint64Binary(0x07fffffff, 0x0ffffffff, 0x17ffffffe, 0xffffffff80000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testUint64Binary(0x07fffffff, 0x100000000, 0x17fffffff, 0xffffffff7fffffff, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testUint64Binary(0x07fffffff, 0x100000001, 0x180000000, 0xffffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testUint64Binary(0x07fffffff, 0x200000000, 0x27fffffff, 0xfffffffe7fffffff, 0xfffffffe00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testUint64Binary(0x07fffffff, 0x7fffffffffffd8f0, 0x800000007fffd8ef, 0x800000008000270f, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testUint64Binary(0x07fffffff, 0x7fffffffffffffff, 0x800000007ffffffe, 0x8000000080000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testUint64Binary(0x07fffffff, 0xc000000000000000, 0xc00000007fffffff, 0x400000007fffffff, 0x4000000000000000, 0x000000000, 0x07fffffff, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0x07fffffff, true);
	testUint64Binary(0x07fffffff, 0xffffffff00000000, 0xffffffff7fffffff, 0x17fffffff, 0x8000000100000000, 0x000000000, 0x07fffffff, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0x07fffffff, true);
	testUint64Binary(0x07fffffff, 0xffffffffffffff9c, 0x07fffff9b, 0x080000063, 0xffffffce00000064, 0x000000000, 0x07fffffff, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0x000000063, true);
	testUint64Binary(0x07fffffff, 0xffffffffffffffff, 0x07ffffffe, 0x080000000, 0xffffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0x000000000, true);
	testUint64Binary(0x07fffffff, 0x789abcdef0123456, 0x789abcdf70123455, 0x876543218fedcba9, 0xff6e5d4c0fedcbaa, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testUint64Binary(0x07fffffff, 0xfedcba9876543210, 0xfedcba98f654320f, 0x123456809abcdef, 0x3c4d5e6f89abcdf0, 0x000000000, 0x07fffffff, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0x009abcdef, true);
	testUint64Shift(0x07fffffff, 0x000000000, 0x07fffffff, 0x07fffffff);
	testUint64Shift(0x07fffffff, 0x000000001, 0x0fffffffe, 0x03fffffff);
	testUint64Shift(0x07fffffff, 0x000000002, 0x1fffffffc, 0x01fffffff);
	testUint64Shift(0x07fffffff, 0x000000003, 0x3fffffff8, 0x00fffffff);
	testUint64Shift(0x07fffffff, 0x00000000f, 0x3fffffff8000, 0x00000ffff);
	testUint64Shift(0x07fffffff, 0x000000010, 0x7fffffff0000, 0x000007fff);
	testUint64Shift(0x07fffffff, 0x000000011, 0xfffffffe0000, 0x000003fff);
	testUint64Shift(0x07fffffff, 0x00000001f, 0x3fffffff80000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x000000020, 0x7fffffff00000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x000000021, 0xfffffffe00000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x00000003d, 0xe000000000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x07fffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test40() {
	testUint64Unary(0x080000000, 0x080000000, 0xffffffff7fffffff, 0xffffffff80000000);
	testUint64Binary(0x080000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testUint64Binary(0x080000000, 0x000000001, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testUint64Binary(0x080000000, 0x000000002, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testUint64Binary(0x080000000, 0x000000003, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testUint64Binary(0x080000000, 0x000000064, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testUint64Binary(0x080000000, 0x000002711, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testUint64Binary(0x080000000, 0x07fffffff, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testUint64Binary(0x080000000, 0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0x080000000, 0x080000001, 0x100000001, 0xffffffffffffffff, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testUint64Binary(0x080000000, 0x0c0000000, 0x140000000, 0xffffffffc0000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testUint64Binary(0x080000000, 0x0ffffffff, 0x17fffffff, 0xffffffff80000001, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testUint64Binary(0x080000000, 0x100000000, 0x180000000, 0xffffffff80000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testUint64Binary(0x080000000, 0x100000001, 0x180000001, 0xffffffff7fffffff, 0x8000000080000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testUint64Binary(0x080000000, 0x200000000, 0x280000000, 0xfffffffe80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testUint64Binary(0x080000000, 0x7fffffffffffd8f0, 0x800000007fffd8f0, 0x8000000080002710, 0xffffec7800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testUint64Binary(0x080000000, 0x7fffffffffffffff, 0x800000007fffffff, 0x8000000080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testUint64Binary(0x080000000, 0xc000000000000000, 0xc000000080000000, 0x4000000080000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0x080000000, true);
	testUint64Binary(0x080000000, 0xffffffff00000000, 0xffffffff80000000, 0x180000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0x080000000, true);
	testUint64Binary(0x080000000, 0xffffffffffffff9c, 0x07fffff9c, 0x080000064, 0xffffffce00000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0x000000000, true);
	testUint64Binary(0x080000000, 0xffffffffffffffff, 0x07fffffff, 0x080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0x000000000, true);
	testUint64Binary(0x080000000, 0x789abcdef0123456, 0x789abcdf70123456, 0x876543218fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testUint64Binary(0x080000000, 0xfedcba9876543210, 0xfedcba98f6543210, 0x123456809abcdf0, 0x3b2a190800000000, 0x000000000, 0x080000000, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0x080000000, true);
	testUint64Shift(0x080000000, 0x000000000, 0x080000000, 0x080000000);
	testUint64Shift(0x080000000, 0x000000001, 0x100000000, 0x040000000);
	testUint64Shift(0x080000000, 0x000000002, 0x200000000, 0x020000000);
	testUint64Shift(0x080000000, 0x000000003, 0x400000000, 0x010000000);
	testUint64Shift(0x080000000, 0x00000000f, 0x400000000000, 0x000010000);
	testUint64Shift(0x080000000, 0x000000010, 0x800000000000, 0x000008000);
	testUint64Shift(0x080000000, 0x000000011, 0x1000000000000, 0x000004000);
	testUint64Shift(0x080000000, 0x00000001f, 0x4000000000000000, 0x000000001);
	testUint64Shift(0x080000000, 0x000000020, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x000000021, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x00000003d, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test41() {
	testUint64Unary(0x080000001, 0x080000001, 0xffffffff7ffffffe, 0xffffffff7fffffff);
	testUint64Binary(0x080000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testUint64Binary(0x080000001, 0x000000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testUint64Binary(0x080000001, 0x000000002, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testUint64Binary(0x080000001, 0x000000003, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testUint64Binary(0x080000001, 0x000000064, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testUint64Binary(0x080000001, 0x000002711, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testUint64Binary(0x080000001, 0x07fffffff, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testUint64Binary(0x080000001, 0x080000000, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testUint64Binary(0x080000001, 0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testUint64Binary(0x080000001, 0x0c0000000, 0x140000001, 0xffffffffc0000001, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testUint64Binary(0x080000001, 0x0ffffffff, 0x180000000, 0xffffffff80000002, 0x800000007fffffff, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testUint64Binary(0x080000001, 0x100000000, 0x180000001, 0xffffffff80000001, 0x8000000100000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testUint64Binary(0x080000001, 0x100000001, 0x180000002, 0xffffffff80000000, 0x8000000180000001, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testUint64Binary(0x080000001, 0x200000000, 0x280000001, 0xfffffffe80000001, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testUint64Binary(0x080000001, 0x7fffffffffffd8f0, 0x800000007fffd8f1, 0x8000000080002711, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testUint64Binary(0x080000001, 0x7fffffffffffffff, 0x8000000080000000, 0x8000000080000002, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testUint64Binary(0x080000001, 0xc000000000000000, 0xc000000080000001, 0x4000000080000001, 0xc000000000000000, 0x000000000, 0x080000001, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0x080000001, true);
	testUint64Binary(0x080000001, 0xffffffff00000000, 0xffffffff80000001, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0x080000001, true);
	testUint64Binary(0x080000001, 0xffffffffffffff9c, 0x07fffff9d, 0x080000065, 0xffffffcdffffff9c, 0x000000000, 0x080000001, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0x000000001, true);
	testUint64Binary(0x080000001, 0xffffffffffffffff, 0x080000000, 0x080000002, 0xffffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0x000000000, true);
	testUint64Binary(0x080000001, 0x789abcdef0123456, 0x789abcdf70123457, 0x876543218fedcbab, 0xf0a3d709f0123456, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testUint64Binary(0x080000001, 0xfedcba9876543210, 0xfedcba98f6543211, 0x123456809abcdf1, 0x3a06d3a076543210, 0x000000000, 0x080000001, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0x080000001, true);
	testUint64Shift(0x080000001, 0x000000000, 0x080000001, 0x080000001);
	testUint64Shift(0x080000001, 0x000000001, 0x100000002, 0x040000000);
	testUint64Shift(0x080000001, 0x000000002, 0x200000004, 0x020000000);
	testUint64Shift(0x080000001, 0x000000003, 0x400000008, 0x010000000);
	testUint64Shift(0x080000001, 0x00000000f, 0x400000008000, 0x000010000);
	testUint64Shift(0x080000001, 0x000000010, 0x800000010000, 0x000008000);
	testUint64Shift(0x080000001, 0x000000011, 0x1000000020000, 0x000004000);
	testUint64Shift(0x080000001, 0x00000001f, 0x4000000080000000, 0x000000001);
	testUint64Shift(0x080000001, 0x000000020, 0x8000000100000000, 0x000000000);
	testUint64Shift(0x080000001, 0x000000021, 0x200000000, 0x000000000);
	testUint64Shift(0x080000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x080000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test42() {
	testUint64Unary(0x0c0000000, 0x0c0000000, 0xffffffff3fffffff, 0xffffffff40000000);
	testUint64Binary(0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testUint64Binary(0x0c0000000, 0x000000001, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x000000002, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x000000003, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x000000064, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x000002711, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x07fffffff, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testUint64Binary(0x0c0000000, 0x080000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testUint64Binary(0x0c0000000, 0x080000001, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testUint64Binary(0x0c0000000, 0x0c0000000, 0x180000000, 0x000000000, 0x9000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0x0ffffffff, 0x1bfffffff, 0xffffffffc0000001, 0xbfffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0x100000000, 0x1c0000000, 0xffffffffc0000000, 0xc000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x100000001, 0x1c0000001, 0xffffffffbfffffff, 0xc0000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x200000000, 0x2c0000000, 0xfffffffec0000000, 0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0x7fffffffffffd8f0, 0x80000000bfffd8f0, 0x80000000c0002710, 0xffffe2b400000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0x7fffffffffffffff, 0x80000000bfffffff, 0x80000000c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0xc000000000000000, 0xc0000000c0000000, 0x40000000c0000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0xffffffff00000000, 0xffffffffc0000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0x0c0000000, true);
	testUint64Binary(0x0c0000000, 0xffffffffffffff9c, 0x0bfffff9c, 0x0c0000064, 0xffffffb500000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0xffffffffffffffff, 0x0bfffffff, 0x0c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0x789abcdef0123456, 0x789abcdfb0123456, 0x87654321cfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testUint64Binary(0x0c0000000, 0xfedcba9876543210, 0xfedcba9936543210, 0x123456849abcdf0, 0x58bf258c00000000, 0x000000000, 0x0c0000000, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0x080000000, true);
	testUint64Shift(0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000);
	testUint64Shift(0x0c0000000, 0x000000001, 0x180000000, 0x060000000);
	testUint64Shift(0x0c0000000, 0x000000002, 0x300000000, 0x030000000);
	testUint64Shift(0x0c0000000, 0x000000003, 0x600000000, 0x018000000);
	testUint64Shift(0x0c0000000, 0x00000000f, 0x600000000000, 0x000018000);
	testUint64Shift(0x0c0000000, 0x000000010, 0xc00000000000, 0x00000c000);
	testUint64Shift(0x0c0000000, 0x000000011, 0x1800000000000, 0x000006000);
	testUint64Shift(0x0c0000000, 0x00000001f, 0x6000000000000000, 0x000000001);
	testUint64Shift(0x0c0000000, 0x000000020, 0xc000000000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x000000021, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x00000003d, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0c0000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test43() {
	testUint64Unary(0x0ffffffff, 0x0ffffffff, 0xffffffff00000000, 0xffffffff00000001);
	testUint64Binary(0x0ffffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testUint64Binary(0x0ffffffff, 0x000000001, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testUint64Binary(0x0ffffffff, 0x000000002, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testUint64Binary(0x0ffffffff, 0x000000003, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testUint64Binary(0x0ffffffff, 0x000000064, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testUint64Binary(0x0ffffffff, 0x000002711, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testUint64Binary(0x0ffffffff, 0x07fffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testUint64Binary(0x0ffffffff, 0x080000000, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testUint64Binary(0x0ffffffff, 0x080000001, 0x180000000, 0x07ffffffe, 0x800000007fffffff, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64Binary(0x0ffffffff, 0x0c0000000, 0x1bfffffff, 0x03fffffff, 0xbfffffff40000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testUint64Binary(0x0ffffffff, 0x0ffffffff, 0x1fffffffe, 0x000000000, 0xfffffffe00000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testUint64Binary(0x0ffffffff, 0x100000000, 0x1ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testUint64Binary(0x0ffffffff, 0x100000001, 0x200000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testUint64Binary(0x0ffffffff, 0x200000000, 0x2ffffffff, 0xfffffffeffffffff, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testUint64Binary(0x0ffffffff, 0x7fffffffffffd8f0, 0x80000000ffffd8ef, 0x800000010000270f, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testUint64Binary(0x0ffffffff, 0x7fffffffffffffff, 0x80000000fffffffe, 0x8000000100000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testUint64Binary(0x0ffffffff, 0xc000000000000000, 0xc0000000ffffffff, 0x40000000ffffffff, 0x4000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0x0ffffffff, true);
	testUint64Binary(0x0ffffffff, 0xffffffff00000000, 0xffffffffffffffff, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x0ffffffff, true);
	testUint64Binary(0x0ffffffff, 0xffffffffffffff9c, 0x0ffffff9b, 0x100000063, 0xffffff9c00000064, 0x000000000, 0x0ffffffff, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0x000000063, true);
	testUint64Binary(0x0ffffffff, 0xffffffffffffffff, 0x0fffffffe, 0x100000000, 0xffffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, true);
	testUint64Binary(0x0ffffffff, 0x789abcdef0123456, 0x789abcdff0123455, 0x876543220fedcba9, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testUint64Binary(0x0ffffffff, 0xfedcba9876543210, 0xfedcba997654320f, 0x123456889abcdef, 0x7777777789abcdf0, 0x000000000, 0x0ffffffff, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0x089abcdef, true);
	testUint64Shift(0x0ffffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff);
	testUint64Shift(0x0ffffffff, 0x000000001, 0x1fffffffe, 0x07fffffff);
	testUint64Shift(0x0ffffffff, 0x000000002, 0x3fffffffc, 0x03fffffff);
	testUint64Shift(0x0ffffffff, 0x000000003, 0x7fffffff8, 0x01fffffff);
	testUint64Shift(0x0ffffffff, 0x00000000f, 0x7fffffff8000, 0x00001ffff);
	testUint64Shift(0x0ffffffff, 0x000000010, 0xffffffff0000, 0x00000ffff);
	testUint64Shift(0x0ffffffff, 0x000000011, 0x1fffffffe0000, 0x000007fff);
	testUint64Shift(0x0ffffffff, 0x00000001f, 0x7fffffff80000000, 0x000000001);
	testUint64Shift(0x0ffffffff, 0x000000020, 0xffffffff00000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x000000021, 0xfffffffe00000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x00000003d, 0xe000000000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x0ffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test44() {
	testUint64Unary(0x100000000, 0x100000000, 0xfffffffeffffffff, 0xffffffff00000000);
	testUint64Binary(0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testUint64Binary(0x100000000, 0x000000001, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testUint64Binary(0x100000000, 0x000000002, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testUint64Binary(0x100000000, 0x000000003, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testUint64Binary(0x100000000, 0x000000064, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testUint64Binary(0x100000000, 0x000002711, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testUint64Binary(0x100000000, 0x07fffffff, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testUint64Binary(0x100000000, 0x080000000, 0x180000000, 0x080000000, 0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testUint64Binary(0x100000000, 0x080000001, 0x180000001, 0x07fffffff, 0x8000000100000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testUint64Binary(0x100000000, 0x0c0000000, 0x1c0000000, 0x040000000, 0xc000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testUint64Binary(0x100000000, 0x0ffffffff, 0x1ffffffff, 0x000000001, 0xffffffff00000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testUint64Binary(0x100000000, 0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0x100000000, 0x100000001, 0x200000001, 0xffffffffffffffff, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testUint64Binary(0x100000000, 0x200000000, 0x300000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testUint64Binary(0x100000000, 0x7fffffffffffd8f0, 0x80000000ffffd8f0, 0x8000000100002710, 0xffffd8f000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testUint64Binary(0x100000000, 0x7fffffffffffffff, 0x80000000ffffffff, 0x8000000100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testUint64Binary(0x100000000, 0xc000000000000000, 0xc000000100000000, 0x4000000100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0x100000000, true);
	testUint64Binary(0x100000000, 0xffffffff00000000, 0x000000000, 0x200000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0x000000000, true);
	testUint64Binary(0x100000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0x000000000, true);
	testUint64Binary(0x100000000, 0xffffffffffffffff, 0x0ffffffff, 0x100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0x000000000, true);
	testUint64Binary(0x100000000, 0x789abcdef0123456, 0x789abcdff0123456, 0x876543220fedcbaa, 0xf012345600000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testUint64Binary(0x100000000, 0xfedcba9876543210, 0xfedcba9976543210, 0x123456889abcdf0, 0x7654321000000000, 0x000000000, 0x100000000, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0x100000000, true);
	testUint64Shift(0x100000000, 0x000000000, 0x100000000, 0x100000000);
	testUint64Shift(0x100000000, 0x000000001, 0x200000000, 0x080000000);
	testUint64Shift(0x100000000, 0x000000002, 0x400000000, 0x040000000);
	testUint64Shift(0x100000000, 0x000000003, 0x800000000, 0x020000000);
	testUint64Shift(0x100000000, 0x00000000f, 0x800000000000, 0x000020000);
	testUint64Shift(0x100000000, 0x000000010, 0x1000000000000, 0x000010000);
	testUint64Shift(0x100000000, 0x000000011, 0x2000000000000, 0x000008000);
	testUint64Shift(0x100000000, 0x00000001f, 0x8000000000000000, 0x000000002);
	testUint64Shift(0x100000000, 0x000000020, 0x000000000, 0x000000001);
	testUint64Shift(0x100000000, 0x000000021, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x00000003d, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test45() {
	testUint64Unary(0x100000001, 0x100000001, 0xfffffffefffffffe, 0xfffffffeffffffff);
	testUint64Binary(0x100000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testUint64Binary(0x100000001, 0x000000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testUint64Binary(0x100000001, 0x000000002, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testUint64Binary(0x100000001, 0x000000003, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testUint64Binary(0x100000001, 0x000000064, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testUint64Binary(0x100000001, 0x000002711, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testUint64Binary(0x100000001, 0x07fffffff, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testUint64Binary(0x100000001, 0x080000000, 0x180000001, 0x080000001, 0x8000000080000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testUint64Binary(0x100000001, 0x080000001, 0x180000002, 0x080000000, 0x8000000180000001, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testUint64Binary(0x100000001, 0x0c0000000, 0x1c0000001, 0x040000001, 0xc0000000c0000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testUint64Binary(0x100000001, 0x0ffffffff, 0x200000000, 0x000000002, 0xffffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testUint64Binary(0x100000001, 0x100000000, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testUint64Binary(0x100000001, 0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testUint64Binary(0x100000001, 0x200000000, 0x300000001, 0xffffffff00000001, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testUint64Binary(0x100000001, 0x7fffffffffffd8f0, 0x80000000ffffd8f1, 0x8000000100002711, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testUint64Binary(0x100000001, 0x7fffffffffffffff, 0x8000000100000000, 0x8000000100000002, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testUint64Binary(0x100000001, 0xc000000000000000, 0xc000000100000001, 0x4000000100000001, 0xc000000000000000, 0x000000000, 0x100000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0x100000001, true);
	testUint64Binary(0x100000001, 0xffffffff00000000, 0x000000001, 0x200000001, 0xffffffff00000000, 0x000000000, 0x100000001, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0x000000001, true);
	testUint64Binary(0x100000001, 0xffffffffffffff9c, 0x0ffffff9d, 0x100000065, 0xffffff9bffffff9c, 0x000000000, 0x100000001, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0x000000001, true);
	testUint64Binary(0x100000001, 0xffffffffffffffff, 0x100000000, 0x100000002, 0xfffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0x000000000, true);
	testUint64Binary(0x100000001, 0x789abcdef0123456, 0x789abcdff0123457, 0x876543220fedcbab, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testUint64Binary(0x100000001, 0xfedcba9876543210, 0xfedcba9976543211, 0x123456889abcdf1, 0x7530eca876543210, 0x000000000, 0x100000001, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0x100000001, true);
	testUint64Shift(0x100000001, 0x000000000, 0x100000001, 0x100000001);
	testUint64Shift(0x100000001, 0x000000001, 0x200000002, 0x080000000);
	testUint64Shift(0x100000001, 0x000000002, 0x400000004, 0x040000000);
	testUint64Shift(0x100000001, 0x000000003, 0x800000008, 0x020000000);
	testUint64Shift(0x100000001, 0x00000000f, 0x800000008000, 0x000020000);
	testUint64Shift(0x100000001, 0x000000010, 0x1000000010000, 0x000010000);
	testUint64Shift(0x100000001, 0x000000011, 0x2000000020000, 0x000008000);
	testUint64Shift(0x100000001, 0x00000001f, 0x8000000080000000, 0x000000002);
	testUint64Shift(0x100000001, 0x000000020, 0x100000000, 0x000000001);
	testUint64Shift(0x100000001, 0x000000021, 0x200000000, 0x000000000);
	testUint64Shift(0x100000001, 0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x100000001, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test46() {
	testUint64Unary(0x200000000, 0x200000000, 0xfffffffdffffffff, 0xfffffffe00000000);
	testUint64Binary(0x200000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testUint64Binary(0x200000000, 0x000000001, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testUint64Binary(0x200000000, 0x000000002, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testUint64Binary(0x200000000, 0x000000003, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testUint64Binary(0x200000000, 0x000000064, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testUint64Binary(0x200000000, 0x000002711, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testUint64Binary(0x200000000, 0x07fffffff, 0x27fffffff, 0x180000001, 0xfffffffe00000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testUint64Binary(0x200000000, 0x080000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testUint64Binary(0x200000000, 0x080000001, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testUint64Binary(0x200000000, 0x0c0000000, 0x2c0000000, 0x140000000, 0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testUint64Binary(0x200000000, 0x0ffffffff, 0x2ffffffff, 0x100000001, 0xfffffffe00000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testUint64Binary(0x200000000, 0x100000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testUint64Binary(0x200000000, 0x100000001, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testUint64Binary(0x200000000, 0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0x200000000, 0x7fffffffffffd8f0, 0x80000001ffffd8f0, 0x8000000200002710, 0xffffb1e000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testUint64Binary(0x200000000, 0x7fffffffffffffff, 0x80000001ffffffff, 0x8000000200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testUint64Binary(0x200000000, 0xc000000000000000, 0xc000000200000000, 0x4000000200000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0x200000000, true);
	testUint64Binary(0x200000000, 0xffffffff00000000, 0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0x000000000, true);
	testUint64Binary(0x200000000, 0xffffffffffffff9c, 0x1ffffff9c, 0x200000064, 0xffffff3800000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0x000000000, true);
	testUint64Binary(0x200000000, 0xffffffffffffffff, 0x1ffffffff, 0x200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0x000000000, true);
	testUint64Binary(0x200000000, 0x789abcdef0123456, 0x789abce0f0123456, 0x876543230fedcbaa, 0xe02468ac00000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testUint64Binary(0x200000000, 0xfedcba9876543210, 0xfedcba9a76543210, 0x123456989abcdf0, 0xeca8642000000000, 0x000000000, 0x200000000, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0x200000000, true);
	testUint64Shift(0x200000000, 0x000000000, 0x200000000, 0x200000000);
	testUint64Shift(0x200000000, 0x000000001, 0x400000000, 0x100000000);
	testUint64Shift(0x200000000, 0x000000002, 0x800000000, 0x080000000);
	testUint64Shift(0x200000000, 0x000000003, 0x1000000000, 0x040000000);
	testUint64Shift(0x200000000, 0x00000000f, 0x1000000000000, 0x000040000);
	testUint64Shift(0x200000000, 0x000000010, 0x2000000000000, 0x000020000);
	testUint64Shift(0x200000000, 0x000000011, 0x4000000000000, 0x000010000);
	testUint64Shift(0x200000000, 0x00000001f, 0x000000000, 0x000000004);
	testUint64Shift(0x200000000, 0x000000020, 0x000000000, 0x000000002);
	testUint64Shift(0x200000000, 0x000000021, 0x000000000, 0x000000001);
	testUint64Shift(0x200000000, 0x00000003d, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x00000003e, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x200000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test47() {
	testUint64Unary(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x800000000000270f, 0x8000000000002710);
	testUint64Binary(0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testUint64Binary(0x7fffffffffffd8f0, 0x000000001, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x000000002, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, 0xffffffffffffb1e0, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x000000003, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x000000064, 0x7fffffffffffd954, 0x7fffffffffffd88c, 0xfffffffffff0bdc0, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x000002711, 0x8000000000000001, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x07fffffff, 0x800000007fffd8ef, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x080000000, 0x800000007fffd8f0, 0x7fffffff7fffd8f0, 0xffffec7800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x080000001, 0x800000007fffd8f1, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x0c0000000, 0x80000000bfffd8f0, 0x7fffffff3fffd8f0, 0xffffe2b400000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x0ffffffff, 0x80000000ffffd8ef, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x100000000, 0x80000000ffffd8f0, 0x7ffffffeffffd8f0, 0xffffd8f000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x100000001, 0x80000000ffffd8f1, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x200000000, 0x80000001ffffd8f0, 0x7ffffffdffffd8f0, 0xffffb1e000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0xffffffffffffb1e0, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x7fffffffffffffff, 0xffffffffffffd8ef, 0xffffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testUint64Binary(0x7fffffffffffd8f0, 0xc000000000000000, 0x3fffffffffffd8f0, 0xbfffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x3fffffffffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0xffffffff00000000, 0x7ffffffeffffd8f0, 0x80000000ffffd8f0, 0x271000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x0ffffd8f0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0xffffffffffffff9c, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x000000060, true);
	testUint64Binary(0x7fffffffffffd8f0, 0xffffffffffffffff, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x000000000, true);
	testUint64Binary(0x7fffffffffffd8f0, 0x789abcdef0123456, 0xf89abcdef0120d46, 0x76543210feda49a, 0xe38e3b7e38e3a0a0, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testUint64Binary(0x7fffffffffffd8f0, 0xfedcba9876543210, 0x7edcba9876540b00, 0x8123456789aba6e0, 0x71c71c71c71c6f00, 0x000000000, 0x7fffffffffffd8f0, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x123456789abc8e0, true);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000001, 0xffffffffffffb1e0, 0x3fffffffffffec78);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000002, 0xffffffffffff63c0, 0x1ffffffffffff63c);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000003, 0xfffffffffffec780, 0xffffffffffffb1e);
	testUint64Shift(0x7fffffffffffd8f0, 0x00000000f, 0xffffffffec780000, 0xffffffffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000010, 0xffffffffd8f00000, 0x7fffffffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000011, 0xffffffffb1e00000, 0x3fffffffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x00000001f, 0xffffec7800000000, 0x0ffffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000020, 0xffffd8f000000000, 0x07fffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000021, 0xffffb1e000000000, 0x03fffffff);
	testUint64Shift(0x7fffffffffffd8f0, 0x00000003d, 0x000000000, 0x000000003);
	testUint64Shift(0x7fffffffffffd8f0, 0x00000003e, 0x000000000, 0x000000001);
	testUint64Shift(0x7fffffffffffd8f0, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffd8f0, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test48() {
	testUint64Unary(0x7fffffffffffffff, 0x7fffffffffffffff, 0x8000000000000000, 0x8000000000000001);
	testUint64Binary(0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testUint64Binary(0x7fffffffffffffff, 0x000000001, 0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testUint64Binary(0x7fffffffffffffff, 0x000000002, 0x8000000000000001, 0x7ffffffffffffffd, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testUint64Binary(0x7fffffffffffffff, 0x000000003, 0x8000000000000002, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testUint64Binary(0x7fffffffffffffff, 0x000000064, 0x8000000000000063, 0x7fffffffffffff9b, 0xffffffffffffff9c, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testUint64Binary(0x7fffffffffffffff, 0x000002711, 0x8000000000002710, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testUint64Binary(0x7fffffffffffffff, 0x07fffffff, 0x800000007ffffffe, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testUint64Binary(0x7fffffffffffffff, 0x080000000, 0x800000007fffffff, 0x7fffffff7fffffff, 0xffffffff80000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0x080000001, 0x8000000080000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testUint64Binary(0x7fffffffffffffff, 0x0c0000000, 0x80000000bfffffff, 0x7fffffff3fffffff, 0xffffffff40000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0x0ffffffff, 0x80000000fffffffe, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testUint64Binary(0x7fffffffffffffff, 0x100000000, 0x80000000ffffffff, 0x7ffffffeffffffff, 0xffffffff00000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0x100000001, 0x8000000100000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testUint64Binary(0x7fffffffffffffff, 0x200000000, 0x80000001ffffffff, 0x7ffffffdffffffff, 0xfffffffe00000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0x7fffffffffffd8f0, 0xffffffffffffd8ef, 0x00000270f, 0x8000000000002710, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testUint64Binary(0x7fffffffffffffff, 0x7fffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64Binary(0x7fffffffffffffff, 0xc000000000000000, 0x3fffffffffffffff, 0xbfffffffffffffff, 0x4000000000000000, 0x000000000, 0x7fffffffffffffff, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x3fffffffffffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0xffffffff00000000, 0x7ffffffeffffffff, 0x80000000ffffffff, 0x100000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x0ffffffff, true);
	testUint64Binary(0x7fffffffffffffff, 0xffffffffffffff9c, 0x7fffffffffffff9b, 0x8000000000000063, 0x000000064, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x000000063, true);
	testUint64Binary(0x7fffffffffffffff, 0xffffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x000000000, true);
	testUint64Binary(0x7fffffffffffffff, 0x789abcdef0123456, 0xf89abcdef0123455, 0x76543210fedcba9, 0x876543210fedcbaa, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testUint64Binary(0x7fffffffffffffff, 0xfedcba9876543210, 0x7edcba987654320f, 0x8123456789abcdef, 0x123456789abcdf0, 0x000000000, 0x7fffffffffffffff, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x123456789abcdef, true);
	testUint64Shift(0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000001, 0xfffffffffffffffe, 0x3fffffffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000002, 0xfffffffffffffffc, 0x1fffffffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000003, 0xfffffffffffffff8, 0xfffffffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x00000000f, 0xffffffffffff8000, 0xffffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000010, 0xffffffffffff0000, 0x7fffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000011, 0xfffffffffffe0000, 0x3fffffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x00000001f, 0xffffffff80000000, 0x0ffffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000020, 0xffffffff00000000, 0x07fffffff);
	testUint64Shift(0x7fffffffffffffff, 0x000000021, 0xfffffffe00000000, 0x03fffffff);
	testUint64Shift(0x7fffffffffffffff, 0x00000003d, 0xe000000000000000, 0x000000003);
	testUint64Shift(0x7fffffffffffffff, 0x00000003e, 0xc000000000000000, 0x000000001);
	testUint64Shift(0x7fffffffffffffff, 0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x7fffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test49() {
	testUint64Unary(0xc000000000000000, 0xc000000000000000, 0x3fffffffffffffff, 0x4000000000000000);
	testUint64Binary(0xc000000000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xc000000000000000, false);
	testUint64Binary(0xc000000000000000, 0x000000001, 0xc000000000000001, 0xbfffffffffffffff, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x000000002, 0xc000000000000002, 0xbffffffffffffffe, 0x8000000000000000, 0x6000000000000000, 0x000000000, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x000000003, 0xc000000000000003, 0xbffffffffffffffd, 0x4000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x000000064, 0xc000000000000064, 0xbfffffffffffff9c, 0x000000000, 0x1eb851eb851eb85, 0x00000000c, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x000002711, 0xc000000000002711, 0xbfffffffffffd8ef, 0xc000000000000000, 0x4ea2a56920f1a, 0x000000946, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x07fffffff, 0xc00000007fffffff, 0xbfffffff80000001, 0x4000000000000000, 0x180000003, 0x000000003, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x080000000, 0xc000000080000000, 0xbfffffff80000000, 0x000000000, 0x180000000, 0x000000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x080000001, 0xc000000080000001, 0xbfffffff7fffffff, 0xc000000000000000, 0x17ffffffd, 0x000000003, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x0c0000000, 0xc0000000c0000000, 0xbfffffff40000000, 0x000000000, 0x100000000, 0x000000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x0ffffffff, 0xc0000000ffffffff, 0xbfffffff00000001, 0x4000000000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x100000000, 0xc000000100000000, 0xbfffffff00000000, 0x000000000, 0x0c0000000, 0x000000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x100000001, 0xc000000100000001, 0xbffffffeffffffff, 0xc000000000000000, 0x0bfffffff, 0x040000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x200000000, 0xc000000200000000, 0xbffffffe00000000, 0x000000000, 0x060000000, 0x000000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0xc000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x7fffffffffffd8f0, 0x3fffffffffffd8f0, 0x4000000000002710, 0x000000000, 0x000000001, 0x4000000000002710, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x8000000000000000, true);
	testUint64Binary(0xc000000000000000, 0x7fffffffffffffff, 0x3fffffffffffffff, 0x4000000000000001, 0x4000000000000000, 0x000000001, 0x4000000000000001, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x8000000000000000, true);
	testUint64Binary(0xc000000000000000, 0xc000000000000000, 0x8000000000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0xc000000000000000, 0xffffffff00000000, 0xbfffffff00000000, 0xc000000100000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x000000000, true);
	testUint64Binary(0xc000000000000000, 0xffffffffffffff9c, 0xbfffffffffffff9c, 0xc000000000000064, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, true);
	testUint64Binary(0xc000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0xc000000000000001, 0x4000000000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x000000000, true);
	testUint64Binary(0xc000000000000000, 0x789abcdef0123456, 0x389abcdef0123456, 0x476543210fedcbaa, 0x8000000000000000, 0x000000001, 0x476543210fedcbaa, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, true);
	testUint64Binary(0xc000000000000000, 0xfedcba9876543210, 0xbedcba9876543210, 0xc123456789abcdf0, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x000000000, true);
	testUint64Shift(0xc000000000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000);
	testUint64Shift(0xc000000000000000, 0x000000001, 0x8000000000000000, 0x6000000000000000);
	testUint64Shift(0xc000000000000000, 0x000000002, 0x000000000, 0x3000000000000000);
	testUint64Shift(0xc000000000000000, 0x000000003, 0x000000000, 0x1800000000000000);
	testUint64Shift(0xc000000000000000, 0x00000000f, 0x000000000, 0x1800000000000);
	testUint64Shift(0xc000000000000000, 0x000000010, 0x000000000, 0xc00000000000);
	testUint64Shift(0xc000000000000000, 0x000000011, 0x000000000, 0x600000000000);
	testUint64Shift(0xc000000000000000, 0x00000001f, 0x000000000, 0x180000000);
	testUint64Shift(0xc000000000000000, 0x000000020, 0x000000000, 0x0c0000000);
	testUint64Shift(0xc000000000000000, 0x000000021, 0x000000000, 0x060000000);
	testUint64Shift(0xc000000000000000, 0x00000003d, 0x000000000, 0x000000006);
	testUint64Shift(0xc000000000000000, 0x00000003e, 0x000000000, 0x000000003);
	testUint64Shift(0xc000000000000000, 0x00000003f, 0x000000000, 0x000000001);
	testUint64Shift(0xc000000000000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0xc000000000000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test50() {
	testUint64Unary(0xffffffff00000000, 0xffffffff00000000, 0x0ffffffff, 0x100000000);
	testUint64Binary(0xffffffff00000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffff00000000, false);
	testUint64Binary(0xffffffff00000000, 0x000000001, 0xffffffff00000001, 0xfffffffeffffffff, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x000000002, 0xffffffff00000002, 0xfffffffefffffffe, 0xfffffffe00000000, 0x7fffffff80000000, 0x000000000, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x000000003, 0xffffffff00000003, 0xfffffffefffffffd, 0xfffffffd00000000, 0x5555555500000000, 0x000000000, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x000000064, 0xffffffff00000064, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x28f5c28f3333333, 0x000000014, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x000002711, 0xffffffff00002711, 0xfffffffeffffd8ef, 0xffffd8ef00000000, 0x68d8dc8bc313f, 0x0000021d1, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x07fffffff, 0xffffffff7fffffff, 0xfffffffe80000001, 0x8000000100000000, 0x200000002, 0x000000002, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x080000000, 0xffffffff80000000, 0xfffffffe80000000, 0x8000000000000000, 0x1fffffffe, 0x000000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x080000001, 0xffffffff80000001, 0xfffffffe7fffffff, 0x7fffffff00000000, 0x1fffffffa, 0x000000006, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x0c0000000, 0xffffffffc0000000, 0xfffffffe40000000, 0x4000000000000000, 0x155555554, 0x000000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x0ffffffff, 0xffffffffffffffff, 0xfffffffe00000001, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0x100000000, 0x000000000, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0xfffffffe00000000, true);
	testUint64Binary(0xffffffff00000000, 0x100000001, 0x000000001, 0xfffffffdffffffff, 0xffffffff00000000, 0x0fffffffe, 0x000000002, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0xfffffffe00000000, true);
	testUint64Binary(0xffffffff00000000, 0x200000000, 0x100000000, 0xfffffffd00000000, 0x000000000, 0x07fffffff, 0x100000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0xfffffffd00000000, true);
	testUint64Binary(0xffffffff00000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000001, 0x7fffffff00002710, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x8000000000000000, true);
	testUint64Binary(0xffffffff00000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000001, 0x7fffffff00000001, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x8000000000000000, true);
	testUint64Binary(0xffffffff00000000, 0xc000000000000000, 0xbfffffff00000000, 0x3fffffff00000000, 0x000000000, 0x000000001, 0x3fffffff00000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x3fffffff00000000, true);
	testUint64Binary(0xffffffff00000000, 0xffffffff00000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, true);
	testUint64Binary(0xffffffff00000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0xffffffff00000064, 0x6400000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x000000000, true);
	testUint64Binary(0xffffffff00000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0xffffffff00000001, 0x100000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64Binary(0xffffffff00000000, 0x789abcdef0123456, 0x789abcddf0123456, 0x876543200fedcbaa, 0xfedcbaa00000000, 0x000000002, 0xeca86411fdb9754, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x8765432100000000, true);
	testUint64Binary(0xffffffff00000000, 0xfedcba9876543210, 0xfedcba9776543210, 0x123456689abcdf0, 0x89abcdf000000000, 0x000000001, 0x123456689abcdf0, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x123456700000000, true);
	testUint64Shift(0xffffffff00000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000);
	testUint64Shift(0xffffffff00000000, 0x000000001, 0xfffffffe00000000, 0x7fffffff80000000);
	testUint64Shift(0xffffffff00000000, 0x000000002, 0xfffffffc00000000, 0x3fffffffc0000000);
	testUint64Shift(0xffffffff00000000, 0x000000003, 0xfffffff800000000, 0x1fffffffe0000000);
	testUint64Shift(0xffffffff00000000, 0x00000000f, 0xffff800000000000, 0x1fffffffe0000);
	testUint64Shift(0xffffffff00000000, 0x000000010, 0xffff000000000000, 0xffffffff0000);
	testUint64Shift(0xffffffff00000000, 0x000000011, 0xfffe000000000000, 0x7fffffff8000);
	testUint64Shift(0xffffffff00000000, 0x00000001f, 0x8000000000000000, 0x1fffffffe);
	testUint64Shift(0xffffffff00000000, 0x000000020, 0x000000000, 0x0ffffffff);
	testUint64Shift(0xffffffff00000000, 0x000000021, 0x000000000, 0x07fffffff);
	testUint64Shift(0xffffffff00000000, 0x00000003d, 0x000000000, 0x000000007);
	testUint64Shift(0xffffffff00000000, 0x00000003e, 0x000000000, 0x000000003);
	testUint64Shift(0xffffffff00000000, 0x00000003f, 0x000000000, 0x000000001);
	testUint64Shift(0xffffffff00000000, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffff00000000, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test51() {
	testUint64Unary(0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000063, 0x000000064);
	testUint64Binary(0xffffffffffffff9c, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff9c, false);
	testUint64Binary(0xffffffffffffff9c, 0x000000001, 0xffffffffffffff9d, 0xffffffffffffff9b, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0xffffffffffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x000000002, 0xffffffffffffff9e, 0xffffffffffffff9a, 0xffffffffffffff38, 0x7fffffffffffffce, 0x000000000, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0xffffffffffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x000000003, 0xffffffffffffff9f, 0xffffffffffffff99, 0xfffffffffffffed4, 0x5555555555555534, 0x000000000, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0xffffffffffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x000000064, 0x000000000, 0xffffffffffffff38, 0xffffffffffffd8f0, 0x28f5c28f5c28f5b, 0x000000010, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0xffffffffffffff98, true);
	testUint64Binary(0xffffffffffffff9c, 0x000002711, 0x0000026ad, 0xffffffffffffd88b, 0xfffffffffff0bd5c, 0x68d8dc8c2becd, 0x0000018ff, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0xffffffffffffd88c, true);
	testUint64Binary(0xffffffffffffff9c, 0x07fffffff, 0x07fffff9b, 0xffffffff7fffff9d, 0xffffffce00000064, 0x200000003, 0x07fffff9f, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0xffffffff80000000, true);
	testUint64Binary(0xffffffffffffff9c, 0x080000000, 0x07fffff9c, 0xffffffff7fffff9c, 0xffffffce00000000, 0x1ffffffff, 0x07fffff9c, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0xffffffff7fffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x080000001, 0x07fffff9d, 0xffffffff7fffff9b, 0xffffffcdffffff9c, 0x1fffffffb, 0x07fffffa1, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0xffffffff7fffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x0c0000000, 0x0bfffff9c, 0xffffffff3fffff9c, 0xffffffb500000000, 0x155555555, 0x03fffff9c, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0xffffffff3fffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x0ffffffff, 0x0ffffff9b, 0xfffffffeffffff9d, 0xffffff9c00000064, 0x100000000, 0x0ffffff9c, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0xffffffff00000000, true);
	testUint64Binary(0xffffffffffffff9c, 0x100000000, 0x0ffffff9c, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x0ffffffff, 0x0ffffff9c, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0xfffffffeffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x100000001, 0x0ffffff9d, 0xfffffffeffffff9b, 0xffffff9bffffff9c, 0x0fffffffe, 0x0ffffff9e, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0xfffffffeffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x200000000, 0x1ffffff9c, 0xfffffffdffffff9c, 0xffffff3800000000, 0x07fffffff, 0x1ffffff9c, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0xfffffffdffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0x7fffffffffffd8f0, 0x7fffffffffffd88c, 0x80000000000026ac, 0x0000f4240, 0x000000002, 0x000004dbc, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x800000000000270c, true);
	testUint64Binary(0xffffffffffffff9c, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000001, 0x7fffffffffffff9d, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x8000000000000000, true);
	testUint64Binary(0xffffffffffffff9c, 0xc000000000000000, 0xbfffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, 0x000000001, 0x3fffffffffffff9c, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x3fffffffffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0xffffffff00000000, 0xfffffffeffffff9c, 0x0ffffff9c, 0x6400000000, 0x000000001, 0x0ffffff9c, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x0ffffff9c, true);
	testUint64Binary(0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff38, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, true);
	testUint64Binary(0xffffffffffffff9c, 0xffffffffffffffff, 0xffffffffffffff9b, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000000, true);
	testUint64Binary(0xffffffffffffff9c, 0x789abcdef0123456, 0x789abcdef01233f2, 0x876543210fedcb46, 0xe38e38ea38e38e68, 0x000000002, 0xeca86421fdb96f0, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x876543210fedcb88, true);
	testUint64Binary(0xffffffffffffff9c, 0xfedcba9876543210, 0xfedcba98765431ac, 0x123456789abcd8c, 0x71c71c71c71c71c0, 0x000000001, 0x123456789abcd8c, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x123456789abcd8c, true);
	testUint64Shift(0xffffffffffffff9c, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c);
	testUint64Shift(0xffffffffffffff9c, 0x000000001, 0xffffffffffffff38, 0x7fffffffffffffce);
	testUint64Shift(0xffffffffffffff9c, 0x000000002, 0xfffffffffffffe70, 0x3fffffffffffffe7);
	testUint64Shift(0xffffffffffffff9c, 0x000000003, 0xfffffffffffffce0, 0x1ffffffffffffff3);
	testUint64Shift(0xffffffffffffff9c, 0x00000000f, 0xffffffffffce0000, 0x1ffffffffffff);
	testUint64Shift(0xffffffffffffff9c, 0x000000010, 0xffffffffff9c0000, 0xffffffffffff);
	testUint64Shift(0xffffffffffffff9c, 0x000000011, 0xffffffffff380000, 0x7fffffffffff);
	testUint64Shift(0xffffffffffffff9c, 0x00000001f, 0xffffffce00000000, 0x1ffffffff);
	testUint64Shift(0xffffffffffffff9c, 0x000000020, 0xffffff9c00000000, 0x0ffffffff);
	testUint64Shift(0xffffffffffffff9c, 0x000000021, 0xffffff3800000000, 0x07fffffff);
	testUint64Shift(0xffffffffffffff9c, 0x00000003d, 0x8000000000000000, 0x000000007);
	testUint64Shift(0xffffffffffffff9c, 0x00000003e, 0x000000000, 0x000000003);
	testUint64Shift(0xffffffffffffff9c, 0x00000003f, 0x000000000, 0x000000001);
	testUint64Shift(0xffffffffffffff9c, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffff9c, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test52() {
	testUint64Unary(0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000001);
	testUint64Binary(0xffffffffffffffff, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, false);
	testUint64Binary(0xffffffffffffffff, 0x000000001, 0x000000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0xfffffffffffffffe, true);
	testUint64Binary(0xffffffffffffffff, 0x000000002, 0x000000001, 0xfffffffffffffffd, 0xfffffffffffffffe, 0x7fffffffffffffff, 0x000000001, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0xfffffffffffffffd, true);
	testUint64Binary(0xffffffffffffffff, 0x000000003, 0x000000002, 0xfffffffffffffffc, 0xfffffffffffffffd, 0x5555555555555555, 0x000000000, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0xfffffffffffffffc, true);
	testUint64Binary(0xffffffffffffffff, 0x000000064, 0x000000063, 0xffffffffffffff9b, 0xffffffffffffff9c, 0x28f5c28f5c28f5c, 0x00000000f, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0xffffffffffffff9b, true);
	testUint64Binary(0xffffffffffffffff, 0x000002711, 0x000002710, 0xffffffffffffd8ee, 0xffffffffffffd8ef, 0x68d8dc8c2becd, 0x000001962, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0xffffffffffffd8ee, true);
	testUint64Binary(0xffffffffffffffff, 0x07fffffff, 0x07ffffffe, 0xffffffff80000000, 0xffffffff80000001, 0x200000004, 0x000000003, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0xffffffff80000000, true);
	testUint64Binary(0xffffffffffffffff, 0x080000000, 0x07fffffff, 0xffffffff7fffffff, 0xffffffff80000000, 0x1ffffffff, 0x07fffffff, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0xffffffff7fffffff, true);
	testUint64Binary(0xffffffffffffffff, 0x080000001, 0x080000000, 0xffffffff7ffffffe, 0xffffffff7fffffff, 0x1fffffffc, 0x000000003, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0xffffffff7ffffffe, true);
	testUint64Binary(0xffffffffffffffff, 0x0c0000000, 0x0bfffffff, 0xffffffff3fffffff, 0xffffffff40000000, 0x155555555, 0x03fffffff, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0xffffffff3fffffff, true);
	testUint64Binary(0xffffffffffffffff, 0x0ffffffff, 0x0fffffffe, 0xffffffff00000000, 0xffffffff00000001, 0x100000001, 0x000000000, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0xffffffff00000000, true);
	testUint64Binary(0xffffffffffffffff, 0x100000000, 0x0ffffffff, 0xfffffffeffffffff, 0xffffffff00000000, 0x0ffffffff, 0x0ffffffff, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0xfffffffeffffffff, true);
	testUint64Binary(0xffffffffffffffff, 0x100000001, 0x100000000, 0xfffffffefffffffe, 0xfffffffeffffffff, 0x0ffffffff, 0x000000000, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0xfffffffefffffffe, true);
	testUint64Binary(0xffffffffffffffff, 0x200000000, 0x1ffffffff, 0xfffffffdffffffff, 0xfffffffe00000000, 0x07fffffff, 0x1ffffffff, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0xfffffffdffffffff, true);
	testUint64Binary(0xffffffffffffffff, 0x7fffffffffffd8f0, 0x7fffffffffffd8ef, 0x800000000000270f, 0x8000000000002710, 0x000000002, 0x000004e1f, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x800000000000270f, true);
	testUint64Binary(0xffffffffffffffff, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000002, 0x000000001, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x8000000000000000, true);
	testUint64Binary(0xffffffffffffffff, 0xc000000000000000, 0xbfffffffffffffff, 0x3fffffffffffffff, 0x4000000000000000, 0x000000001, 0x3fffffffffffffff, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x3fffffffffffffff, true);
	testUint64Binary(0xffffffffffffffff, 0xffffffff00000000, 0xfffffffeffffffff, 0x0ffffffff, 0x100000000, 0x000000001, 0x0ffffffff, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x0ffffffff, true);
	testUint64Binary(0xffffffffffffffff, 0xffffffffffffff9c, 0xffffffffffffff9b, 0x000000063, 0x000000064, 0x000000001, 0x000000063, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000063, true);
	testUint64Binary(0xffffffffffffffff, 0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64Binary(0xffffffffffffffff, 0x789abcdef0123456, 0x789abcdef0123455, 0x876543210fedcba9, 0x876543210fedcbaa, 0x000000002, 0xeca86421fdb9753, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x876543210fedcba9, true);
	testUint64Binary(0xffffffffffffffff, 0xfedcba9876543210, 0xfedcba987654320f, 0x123456789abcdef, 0x123456789abcdf0, 0x000000001, 0x123456789abcdef, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x123456789abcdef, true);
	testUint64Shift(0xffffffffffffffff, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000001, 0xfffffffffffffffe, 0x7fffffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000002, 0xfffffffffffffffc, 0x3fffffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000003, 0xfffffffffffffff8, 0x1fffffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x00000000f, 0xffffffffffff8000, 0x1ffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000010, 0xffffffffffff0000, 0xffffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000011, 0xfffffffffffe0000, 0x7fffffffffff);
	testUint64Shift(0xffffffffffffffff, 0x00000001f, 0xffffffff80000000, 0x1ffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000020, 0xffffffff00000000, 0x0ffffffff);
	testUint64Shift(0xffffffffffffffff, 0x000000021, 0xfffffffe00000000, 0x07fffffff);
	testUint64Shift(0xffffffffffffffff, 0x00000003d, 0xe000000000000000, 0x000000007);
	testUint64Shift(0xffffffffffffffff, 0x00000003e, 0xc000000000000000, 0x000000003);
	testUint64Shift(0xffffffffffffffff, 0x00000003f, 0x8000000000000000, 0x000000001);
	testUint64Shift(0xffffffffffffffff, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test53() {
	testUint64Unary(0x789abcdef0123456, 0x789abcdef0123456, 0x876543210fedcba9, 0x876543210fedcbaa);
	testUint64Binary(0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testUint64Binary(0x789abcdef0123456, 0x000000001, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testUint64Binary(0x789abcdef0123456, 0x000000002, 0x789abcdef0123458, 0x789abcdef0123454, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testUint64Binary(0x789abcdef0123456, 0x000000003, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testUint64Binary(0x789abcdef0123456, 0x000000064, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testUint64Binary(0x789abcdef0123456, 0x000002711, 0x789abcdef0125b67, 0x789abcdef0120d45, 0x950c8160b72e93b6, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testUint64Binary(0x789abcdef0123456, 0x07fffffff, 0x789abcdf70123455, 0x789abcde70123457, 0xff6e5d4c0fedcbaa, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testUint64Binary(0x789abcdef0123456, 0x080000000, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testUint64Binary(0x789abcdef0123456, 0x080000001, 0x789abcdf70123457, 0x789abcde70123455, 0xf0a3d709f0123456, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testUint64Binary(0x789abcdef0123456, 0x0c0000000, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testUint64Binary(0x789abcdef0123456, 0x0ffffffff, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testUint64Binary(0x789abcdef0123456, 0x100000000, 0x789abcdff0123456, 0x789abcddf0123456, 0xf012345600000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testUint64Binary(0x789abcdef0123456, 0x100000001, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testUint64Binary(0x789abcdef0123456, 0x200000000, 0x789abce0f0123456, 0x789abcdcf0123456, 0xe02468ac00000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testUint64Binary(0x789abcdef0123456, 0x7fffffffffffd8f0, 0xf89abcdef0120d46, 0xf89abcdef0125b66, 0xe38e3b7e38e3a0a0, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testUint64Binary(0x789abcdef0123456, 0x7fffffffffffffff, 0xf89abcdef0123455, 0xf89abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testUint64Binary(0x789abcdef0123456, 0xc000000000000000, 0x389abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, 0x000000000, 0x789abcdef0123456, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x389abcdef0123456, true);
	testUint64Binary(0x789abcdef0123456, 0xffffffff00000000, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, 0x789abcdef0123456, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x0f0123456, true);
	testUint64Binary(0x789abcdef0123456, 0xffffffffffffff9c, 0x789abcdef01233f2, 0x789abcdef01234ba, 0xe38e38ea38e38e68, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x000000042, true);
	testUint64Binary(0x789abcdef0123456, 0xffffffffffffffff, 0x789abcdef0123455, 0x789abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x000000000, true);
	testUint64Binary(0x789abcdef0123456, 0x789abcdef0123456, 0xf13579bde02468ac, 0x000000000, 0x950b3894a6cb0ce4, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testUint64Binary(0x789abcdef0123456, 0xfedcba9876543210, 0x7777777766666666, 0x79be024679be0246, 0x911c11fb5f941160, 0x000000000, 0x789abcdef0123456, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x2044680020446, true);
	testUint64Shift(0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456);
	testUint64Shift(0x789abcdef0123456, 0x000000001, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b);
	testUint64Shift(0x789abcdef0123456, 0x000000002, 0xe26af37bc048d158, 0x1e26af37bc048d15);
	testUint64Shift(0x789abcdef0123456, 0x000000003, 0xc4d5e6f78091a2b0, 0xf13579bde02468a);
	testUint64Shift(0x789abcdef0123456, 0x00000000f, 0x5e6f78091a2b0000, 0xf13579bde024);
	testUint64Shift(0x789abcdef0123456, 0x000000010, 0xbcdef01234560000, 0x789abcdef012);
	testUint64Shift(0x789abcdef0123456, 0x000000011, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testUint64Shift(0x789abcdef0123456, 0x00000001f, 0x78091a2b00000000, 0x0f13579bd);
	testUint64Shift(0x789abcdef0123456, 0x000000020, 0xf012345600000000, 0x0789abcde);
	testUint64Shift(0x789abcdef0123456, 0x000000021, 0xe02468ac00000000, 0x03c4d5e6f);
	testUint64Shift(0x789abcdef0123456, 0x00000003d, 0xc000000000000000, 0x000000003);
	testUint64Shift(0x789abcdef0123456, 0x00000003e, 0x8000000000000000, 0x000000001);
	testUint64Shift(0x789abcdef0123456, 0x00000003f, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0x789abcdef0123456, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test54() {
	testUint64Unary(0xfedcba9876543210, 0xfedcba9876543210, 0x123456789abcdef, 0x123456789abcdf0);
	testUint64Binary(0xfedcba9876543210, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xfedcba9876543210, false);
	testUint64Binary(0xfedcba9876543210, 0x000000001, 0xfedcba9876543211, 0xfedcba987654320f, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x000000002, 0xfedcba9876543212, 0xfedcba987654320e, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908, 0x000000000, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x000000003, 0xfedcba9876543213, 0xfedcba987654320d, 0xfc962fc962fc9630, 0x54f43e32d21c10b0, 0x000000000, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x000000064, 0xfedcba9876543274, 0xfedcba98765431ac, 0x8e38e38e38e38e40, 0x28c7281864da457, 0x000000014, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x000002711, 0xfedcba9876545921, 0xfedcba9876540aff, 0x8d159e26af37c310, 0x6861919c9d81f, 0x000001f01, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0xfedcba9876541000, true);
	testUint64Binary(0xfedcba9876543210, 0x07fffffff, 0xfedcba98f654320f, 0xfedcba97f6543211, 0x3c4d5e6f89abcdf0, 0x1fdb97534, 0x0740da744, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0xfedcba9800000000, true);
	testUint64Binary(0xfedcba9876543210, 0x080000000, 0xfedcba98f6543210, 0xfedcba97f6543210, 0x3b2a190800000000, 0x1fdb97530, 0x076543210, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x080000001, 0xfedcba98f6543211, 0xfedcba97f654320f, 0x3a06d3a076543210, 0x1fdb9752c, 0x0789abce4, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x0c0000000, 0xfedcba9936543210, 0xfedcba97b6543210, 0x58bf258c00000000, 0x153d0f8cb, 0x036543210, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0xfedcba9836543210, true);
	testUint64Binary(0xfedcba9876543210, 0x0ffffffff, 0xfedcba997654320f, 0xfedcba9776543211, 0x7777777789abcdf0, 0x0fedcba99, 0x07530eca9, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0xfedcba9800000000, true);
	testUint64Binary(0xfedcba9876543210, 0x100000000, 0xfedcba9976543210, 0xfedcba9776543210, 0x7654321000000000, 0x0fedcba98, 0x076543210, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x100000001, 0xfedcba9976543211, 0xfedcba977654320f, 0x7530eca876543210, 0x0fedcba97, 0x077777779, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x200000000, 0xfedcba9a76543210, 0xfedcba9676543210, 0xeca8642000000000, 0x07f6e5d4c, 0x076543210, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0xfedcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0x7fffffffffffd8f0, 0x7edcba9876540b00, 0x7edcba9876545920, 0x71c71c71c71c6f00, 0x000000001, 0x7edcba9876545920, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x8000000000002200, true);
	testUint64Binary(0xfedcba9876543210, 0x7fffffffffffffff, 0x7edcba987654320f, 0x7edcba9876543211, 0x123456789abcdf0, 0x000000001, 0x7edcba9876543211, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x8000000000000000, true);
	testUint64Binary(0xfedcba9876543210, 0xc000000000000000, 0xbedcba9876543210, 0x3edcba9876543210, 0x000000000, 0x000000001, 0x3edcba9876543210, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x3edcba9876543210, true);
	testUint64Binary(0xfedcba9876543210, 0xffffffff00000000, 0xfedcba9776543210, 0xfedcba9976543210, 0x89abcdf000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x076543210, true);
	testUint64Binary(0xfedcba9876543210, 0xffffffffffffff9c, 0xfedcba98765431ac, 0xfedcba9876543274, 0x71c71c71c71c71c0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x000000000, true);
	testUint64Binary(0xfedcba9876543210, 0xffffffffffffffff, 0xfedcba987654320f, 0xfedcba9876543211, 0x123456789abcdf0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x000000000, true);
	testUint64Binary(0xfedcba9876543210, 0x789abcdef0123456, 0x7777777766666666, 0x8641fdb98641fdba, 0x911c11fb5f941160, 0x000000002, 0xda740da962fc964, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x8644020006440200, true);
	testUint64Binary(0xfedcba9876543210, 0xfedcba9876543210, 0xfdb97530eca86420, 0x000000000, 0xdeec6cd7a44a4100, 0x000000001, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, true);
	testUint64Shift(0xfedcba9876543210, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210);
	testUint64Shift(0xfedcba9876543210, 0x000000001, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908);
	testUint64Shift(0xfedcba9876543210, 0x000000002, 0xfb72ea61d950c840, 0x3fb72ea61d950c84);
	testUint64Shift(0xfedcba9876543210, 0x000000003, 0xf6e5d4c3b2a19080, 0x1fdb97530eca8642);
	testUint64Shift(0xfedcba9876543210, 0x00000000f, 0x5d4c3b2a19080000, 0x1fdb97530eca8);
	testUint64Shift(0xfedcba9876543210, 0x000000010, 0xba98765432100000, 0xfedcba987654);
	testUint64Shift(0xfedcba9876543210, 0x000000011, 0x7530eca864200000, 0x7f6e5d4c3b2a);
	testUint64Shift(0xfedcba9876543210, 0x00000001f, 0x3b2a190800000000, 0x1fdb97530);
	testUint64Shift(0xfedcba9876543210, 0x000000020, 0x7654321000000000, 0x0fedcba98);
	testUint64Shift(0xfedcba9876543210, 0x000000021, 0xeca8642000000000, 0x07f6e5d4c);
	testUint64Shift(0xfedcba9876543210, 0x00000003d, 0x000000000, 0x000000007);
	testUint64Shift(0xfedcba9876543210, 0x00000003e, 0x000000000, 0x000000003);
	testUint64Shift(0xfedcba9876543210, 0x00000003f, 0x000000000, 0x000000001);
	testUint64Shift(0xfedcba9876543210, 0x000000040, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x000000041, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x0ffffffff, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x100000000, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x100000001, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x1000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0x8000000000000000, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64Shift(0xfedcba9876543210, 0xffffffffffffffff, 0x000000000, 0x000000000);
}
func testInt64BinaryL0(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR0(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL0(b uint64, left, right int64) {
	const a int64 = 0x000000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL1(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR1(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL1(b uint64, left, right int64) {
	const a int64 = 0x000000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL2(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000000002;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR2(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000000002;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL2(b uint64, left, right int64) {
	const a int64 = 0x000000002;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL3(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000000003;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR3(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000000003;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL3(b uint64, left, right int64) {
	const a int64 = 0x000000003;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL4(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000000064;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR4(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000000064;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL4(b uint64, left, right int64) {
	const a int64 = 0x000000064;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL5(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x000002711;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR5(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x000002711;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL5(b uint64, left, right int64) {
	const a int64 = 0x000002711;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL6(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x07fffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR6(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x07fffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL6(b uint64, left, right int64) {
	const a int64 = 0x07fffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL7(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x080000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR7(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x080000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL7(b uint64, left, right int64) {
	const a int64 = 0x080000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL8(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x080000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR8(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x080000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL8(b uint64, left, right int64) {
	const a int64 = 0x080000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL9(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x0c0000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR9(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x0c0000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL9(b uint64, left, right int64) {
	const a int64 = 0x0c0000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL10(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x0ffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR10(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x0ffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL10(b uint64, left, right int64) {
	const a int64 = 0x0ffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL11(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x100000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR11(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x100000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL11(b uint64, left, right int64) {
	const a int64 = 0x100000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL12(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x100000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR12(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x100000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL12(b uint64, left, right int64) {
	const a int64 = 0x100000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL13(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x200000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR13(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x200000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL13(b uint64, left, right int64) {
	const a int64 = 0x200000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL14(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR14(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL14(b uint64, left, right int64) {
	const a int64 = 0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL15(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR15(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL15(b uint64, left, right int64) {
	const a int64 = 0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL16(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = 0x789abcdef0123456;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR16(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = 0x789abcdef0123456;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL16(b uint64, left, right int64) {
	const a int64 = 0x789abcdef0123456;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL17(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x000000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR17(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x000000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL17(b uint64, left, right int64) {
	const a int64 = -0x000000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL18(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x000000002;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR18(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x000000002;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL18(b uint64, left, right int64) {
	const a int64 = -0x000000002;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL19(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x000000003;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR19(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x000000003;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL19(b uint64, left, right int64) {
	const a int64 = -0x000000003;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL20(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x000000064;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR20(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x000000064;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL20(b uint64, left, right int64) {
	const a int64 = -0x000000064;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL21(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x000002711;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR21(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x000002711;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL21(b uint64, left, right int64) {
	const a int64 = -0x000002711;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL22(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x07fffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR22(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x07fffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL22(b uint64, left, right int64) {
	const a int64 = -0x07fffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL23(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x080000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR23(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x080000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL23(b uint64, left, right int64) {
	const a int64 = -0x080000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL24(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x080000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR24(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x080000001;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL24(b uint64, left, right int64) {
	const a int64 = -0x080000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL25(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x0c0000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR25(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x0c0000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL25(b uint64, left, right int64) {
	const a int64 = -0x0c0000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL26(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x100000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR26(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x100000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL26(b uint64, left, right int64) {
	const a int64 = -0x100000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL27(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x0ffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR27(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x0ffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL27(b uint64, left, right int64) {
	const a int64 = -0x0ffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL28(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x200000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR28(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x200000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL28(b uint64, left, right int64) {
	const a int64 = -0x200000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL29(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR29(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL29(b uint64, left, right int64) {
	const a int64 = -0x7fffffffffffd8f0;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL30(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR30(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL30(b uint64, left, right int64) {
	const a int64 = -0x7fffffffffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL31(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x8000000000000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR31(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x8000000000000000;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL31(b uint64, left, right int64) {
	const a int64 = -0x8000000000000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64BinaryL32(b, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const a int64 = -0x789abcdd0fedcbaa;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testInt64BinaryR32(a, add, sub, mul, div, mod, and, or, xor, andnot int64, dodiv bool) {
	const b int64 = -0x789abcdd0fedcbaa;
	const typ = `int64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testInt64ShiftL32(b uint64, left, right int64) {
	const a int64 = -0x789abcdd0fedcbaa;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL0(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR0(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL0(b uint64, left, right uint64) {
	const a uint64 = 0x000000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL1(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR1(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL1(b uint64, left, right uint64) {
	const a uint64 = 0x000000001;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL2(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000000002;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR2(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000000002;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL2(b uint64, left, right uint64) {
	const a uint64 = 0x000000002;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL3(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000000003;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR3(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000000003;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL3(b uint64, left, right uint64) {
	const a uint64 = 0x000000003;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL4(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000000064;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR4(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000000064;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL4(b uint64, left, right uint64) {
	const a uint64 = 0x000000064;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL5(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x000002711;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR5(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x000002711;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL5(b uint64, left, right uint64) {
	const a uint64 = 0x000002711;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL6(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x07fffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR6(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x07fffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL6(b uint64, left, right uint64) {
	const a uint64 = 0x07fffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL7(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x080000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR7(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x080000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL7(b uint64, left, right uint64) {
	const a uint64 = 0x080000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL8(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x080000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR8(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x080000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL8(b uint64, left, right uint64) {
	const a uint64 = 0x080000001;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL9(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x0c0000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR9(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x0c0000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL9(b uint64, left, right uint64) {
	const a uint64 = 0x0c0000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL10(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x0ffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR10(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x0ffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL10(b uint64, left, right uint64) {
	const a uint64 = 0x0ffffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL11(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x100000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR11(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x100000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL11(b uint64, left, right uint64) {
	const a uint64 = 0x100000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL12(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x100000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR12(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x100000001;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL12(b uint64, left, right uint64) {
	const a uint64 = 0x100000001;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL13(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x200000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR13(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x200000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL13(b uint64, left, right uint64) {
	const a uint64 = 0x200000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL14(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x7fffffffffffd8f0;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR14(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x7fffffffffffd8f0;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL14(b uint64, left, right uint64) {
	const a uint64 = 0x7fffffffffffd8f0;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL15(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x7fffffffffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR15(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x7fffffffffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL15(b uint64, left, right uint64) {
	const a uint64 = 0x7fffffffffffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL16(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0xc000000000000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR16(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0xc000000000000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL16(b uint64, left, right uint64) {
	const a uint64 = 0xc000000000000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL17(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0xffffffff00000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR17(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0xffffffff00000000;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL17(b uint64, left, right uint64) {
	const a uint64 = 0xffffffff00000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL18(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0xffffffffffffff9c;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR18(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0xffffffffffffff9c;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL18(b uint64, left, right uint64) {
	const a uint64 = 0xffffffffffffff9c;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL19(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0xffffffffffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR19(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0xffffffffffffffff;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL19(b uint64, left, right uint64) {
	const a uint64 = 0xffffffffffffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL20(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0x789abcdef0123456;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR20(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0x789abcdef0123456;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL20(b uint64, left, right uint64) {
	const a uint64 = 0x789abcdef0123456;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testUint64BinaryL21(b, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const a uint64 = 0xfedcba9876543210;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `const`, a, op, `var`, b, `=`, n, `should be`, want); }
}

func testUint64BinaryR21(a, add, sub, mul, div, mod, and, or, xor, andnot uint64, dodiv bool) {
	const b uint64 = 0xfedcba9876543210;
	const typ = `uint64`;
	if n, op, want := a + b, `+`, add; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a - b, `-`, sub; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a * b, `*`, mul; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if dodiv {
		if n, op, want := a / b, `/`, div; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
		if n, op, want := a % b, `%`, mod; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	}
	if n, op, want := a & b, `&`, and; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a | b, `|`, or; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a ^ b, `^`, xor; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
	if n, op, want := a &^ b, `&^`, andnot; n != want { ok=false; println(typ, `var`, a, op, `const`, b, `=`, n, `should be`, want); }
}

func testUint64ShiftL21(b uint64, left, right uint64) {
	const a uint64 = 0xfedcba9876543210;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	if uint64(uint32(b)) == b {
		b := uint32(b);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `const`, a, op, `var`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR0(a, left, right int64) {
	const b uint64 = 0x000000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR0(a, left, right uint64) {
	const b uint64 = 0x000000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR1(a, left, right int64) {
	const b uint64 = 0x000000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR1(a, left, right uint64) {
	const b uint64 = 0x000000001;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR2(a, left, right int64) {
	const b uint64 = 0x000000002;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR2(a, left, right uint64) {
	const b uint64 = 0x000000002;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR3(a, left, right int64) {
	const b uint64 = 0x000000003;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR3(a, left, right uint64) {
	const b uint64 = 0x000000003;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR4(a, left, right int64) {
	const b uint64 = 0x00000000f;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR4(a, left, right uint64) {
	const b uint64 = 0x00000000f;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR5(a, left, right int64) {
	const b uint64 = 0x000000010;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR5(a, left, right uint64) {
	const b uint64 = 0x000000010;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR6(a, left, right int64) {
	const b uint64 = 0x000000011;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR6(a, left, right uint64) {
	const b uint64 = 0x000000011;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR7(a, left, right int64) {
	const b uint64 = 0x00000001f;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR7(a, left, right uint64) {
	const b uint64 = 0x00000001f;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR8(a, left, right int64) {
	const b uint64 = 0x000000020;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR8(a, left, right uint64) {
	const b uint64 = 0x000000020;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR9(a, left, right int64) {
	const b uint64 = 0x000000021;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR9(a, left, right uint64) {
	const b uint64 = 0x000000021;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR10(a, left, right int64) {
	const b uint64 = 0x00000003d;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR10(a, left, right uint64) {
	const b uint64 = 0x00000003d;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR11(a, left, right int64) {
	const b uint64 = 0x00000003e;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR11(a, left, right uint64) {
	const b uint64 = 0x00000003e;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR12(a, left, right int64) {
	const b uint64 = 0x00000003f;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR12(a, left, right uint64) {
	const b uint64 = 0x00000003f;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR13(a, left, right int64) {
	const b uint64 = 0x000000040;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR13(a, left, right uint64) {
	const b uint64 = 0x000000040;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR14(a, left, right int64) {
	const b uint64 = 0x000000041;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR14(a, left, right uint64) {
	const b uint64 = 0x000000041;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR15(a, left, right int64) {
	const b uint64 = 0x0ffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR15(a, left, right uint64) {
	const b uint64 = 0x0ffffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR16(a, left, right int64) {
	const b uint64 = 0x100000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR16(a, left, right uint64) {
	const b uint64 = 0x100000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR17(a, left, right int64) {
	const b uint64 = 0x100000001;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR17(a, left, right uint64) {
	const b uint64 = 0x100000001;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR18(a, left, right int64) {
	const b uint64 = 0x1000000000000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR18(a, left, right uint64) {
	const b uint64 = 0x1000000000000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR19(a, left, right int64) {
	const b uint64 = 0x8000000000000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR19(a, left, right uint64) {
	const b uint64 = 0x8000000000000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR20(a, left, right int64) {
	const b uint64 = 0xffffffff00000000;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR20(a, left, right uint64) {
	const b uint64 = 0xffffffff00000000;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testInt64ShiftR21(a, left, right int64) {
	const b uint64 = 0xffffffffffffffff;
	const typ = `int64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func testUint64ShiftR21(a, left, right uint64) {
	const b uint64 = 0xffffffffffffffff;
	const typ = `uint64`;
	if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	if b & 0xffffffff == b {
		const b = uint32(b & 0xffffffff);
		if n, op, s, want := a << b, `<<`, b, left; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
		if n, op, s, want := a >> b, `>>`, b, right; n != want { ok=false; println(typ, `var`, a, op, `const`, s, `=`, n, `should be`, want); }
	}
}
func test55() {
	testInt64BinaryL0(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testInt64BinaryR0(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testInt64BinaryL0(0x000000001, 0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testInt64BinaryR1(0x000000000, 0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testInt64BinaryL0(0x000000002, 0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testInt64BinaryR2(0x000000000, 0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testInt64BinaryL0(0x000000003, 0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testInt64BinaryR3(0x000000000, 0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testInt64BinaryL0(0x000000064, 0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testInt64BinaryR4(0x000000000, 0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testInt64BinaryL0(0x000002711, 0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testInt64BinaryR5(0x000000000, 0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testInt64BinaryL0(0x07fffffff, 0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testInt64BinaryR6(0x000000000, 0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testInt64BinaryL0(0x080000000, 0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testInt64BinaryR7(0x000000000, 0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testInt64BinaryL0(0x080000001, 0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testInt64BinaryR8(0x000000000, 0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testInt64BinaryL0(0x0c0000000, 0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testInt64BinaryR9(0x000000000, 0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testInt64BinaryL0(0x0ffffffff, 0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testInt64BinaryR10(0x000000000, 0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testInt64BinaryL0(0x100000000, 0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testInt64BinaryR11(0x000000000, 0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testInt64BinaryL0(0x100000001, 0x100000001, -0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testInt64BinaryR12(0x000000000, 0x100000001, -0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testInt64BinaryL0(0x200000000, 0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testInt64BinaryR13(0x000000000, 0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testInt64BinaryL0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testInt64BinaryR14(0x000000000, 0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testInt64BinaryL0(0x7fffffffffffffff, 0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testInt64BinaryR15(0x000000000, 0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testInt64BinaryL0(0x789abcdef0123456, 0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testInt64BinaryR16(0x000000000, 0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testInt64BinaryL0(-0x000000001, -0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, 0x000000000, true);
	testInt64BinaryR17(0x000000000, -0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, 0x000000000, true);
	testInt64BinaryL0(-0x000000002, -0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, 0x000000000, true);
	testInt64BinaryR18(0x000000000, -0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, 0x000000000, true);
	testInt64BinaryL0(-0x000000003, -0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, 0x000000000, true);
	testInt64BinaryR19(0x000000000, -0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, 0x000000000, true);
	testInt64BinaryL0(-0x000000064, -0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, 0x000000000, true);
	testInt64BinaryR20(0x000000000, -0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, 0x000000000, true);
	testInt64BinaryL0(-0x000002711, -0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, 0x000000000, true);
	testInt64BinaryR21(0x000000000, -0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, 0x000000000, true);
	testInt64BinaryL0(-0x07fffffff, -0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, true);
	testInt64BinaryR22(0x000000000, -0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, true);
	testInt64BinaryL0(-0x080000000, -0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, 0x000000000, true);
	testInt64BinaryR23(0x000000000, -0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, 0x000000000, true);
	testInt64BinaryL0(-0x080000001, -0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, 0x000000000, true);
	testInt64BinaryR24(0x000000000, -0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, 0x000000000, true);
	testInt64BinaryL0(-0x0c0000000, -0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, true);
	testInt64BinaryR25(0x000000000, -0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, true);
	testInt64BinaryL0(-0x100000000, -0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, 0x000000000, true);
	testInt64BinaryR26(0x000000000, -0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, 0x000000000, true);
	testInt64BinaryL0(-0x0ffffffff, -0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, true);
	testInt64BinaryR27(0x000000000, -0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, true);
	testInt64BinaryL0(-0x200000000, -0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, 0x000000000, true);
	testInt64BinaryR28(0x000000000, -0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, 0x000000000, true);
	testInt64BinaryL0(-0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, true);
	testInt64BinaryR29(0x000000000, -0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, true);
	testInt64BinaryL0(-0x7fffffffffffffff, -0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, true);
	testInt64BinaryR30(0x000000000, -0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, true);
	testInt64BinaryL0(-0x8000000000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryR31(0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryL0(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, true);
	testInt64BinaryR32(0x000000000, -0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, true);
	testInt64ShiftL0(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftR0(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftR1(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftR2(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftR3(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x00000000f, 0x000000000, 0x000000000);
	testInt64ShiftR4(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000010, 0x000000000, 0x000000000);
	testInt64ShiftR5(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000011, 0x000000000, 0x000000000);
	testInt64ShiftR6(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x00000001f, 0x000000000, 0x000000000);
	testInt64ShiftR7(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000020, 0x000000000, 0x000000000);
	testInt64ShiftR8(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000021, 0x000000000, 0x000000000);
	testInt64ShiftR9(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x00000003d, 0x000000000, 0x000000000);
	testInt64ShiftR10(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000000000, 0x000000000, 0x000000000);
	testInt64ShiftL0(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000000000, 0x000000000, 0x000000000);
}
func test56() {
	testInt64BinaryL1(0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testInt64BinaryR0(0x000000001, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testInt64BinaryL1(0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testInt64BinaryR1(0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testInt64BinaryL1(0x000000002, 0x000000003, -0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testInt64BinaryR2(0x000000001, 0x000000003, -0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testInt64BinaryL1(0x000000003, 0x000000004, -0x000000002, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testInt64BinaryR3(0x000000001, 0x000000004, -0x000000002, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testInt64BinaryL1(0x000000064, 0x000000065, -0x000000063, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testInt64BinaryR4(0x000000001, 0x000000065, -0x000000063, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testInt64BinaryL1(0x000002711, 0x000002712, -0x000002710, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testInt64BinaryR5(0x000000001, 0x000002712, -0x000002710, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testInt64BinaryL1(0x07fffffff, 0x080000000, -0x07ffffffe, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryR6(0x000000001, 0x080000000, -0x07ffffffe, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryL1(0x080000000, 0x080000001, -0x07fffffff, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testInt64BinaryR7(0x000000001, 0x080000001, -0x07fffffff, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testInt64BinaryL1(0x080000001, 0x080000002, -0x080000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testInt64BinaryR8(0x000000001, 0x080000002, -0x080000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testInt64BinaryL1(0x0c0000000, 0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testInt64BinaryR9(0x000000001, 0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testInt64BinaryL1(0x0ffffffff, 0x100000000, -0x0fffffffe, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryR10(0x000000001, 0x100000000, -0x0fffffffe, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryL1(0x100000000, 0x100000001, -0x0ffffffff, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testInt64BinaryR11(0x000000001, 0x100000001, -0x0ffffffff, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testInt64BinaryL1(0x100000001, 0x100000002, -0x100000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testInt64BinaryR12(0x000000001, 0x100000002, -0x100000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testInt64BinaryL1(0x200000000, 0x200000001, -0x1ffffffff, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testInt64BinaryR13(0x000000001, 0x200000001, -0x1ffffffff, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testInt64BinaryL1(0x7fffffffffffd8f0, 0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testInt64BinaryR14(0x000000001, 0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testInt64BinaryL1(0x7fffffffffffffff, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryR15(0x000000001, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryL1(0x789abcdef0123456, 0x789abcdef0123457, -0x789abcdef0123455, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testInt64BinaryR16(0x000000001, 0x789abcdef0123457, -0x789abcdef0123455, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testInt64BinaryL1(-0x000000001, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000000, true);
	testInt64BinaryR17(0x000000001, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000000, true);
	testInt64BinaryL1(-0x000000002, -0x000000001, 0x000000003, -0x000000002, 0x000000000, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000001, true);
	testInt64BinaryR18(0x000000001, -0x000000001, 0x000000003, -0x000000002, 0x000000000, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000001, true);
	testInt64BinaryL1(-0x000000003, -0x000000002, 0x000000004, -0x000000003, 0x000000000, 0x000000001, 0x000000001, -0x000000003, -0x000000004, 0x000000000, true);
	testInt64BinaryR19(0x000000001, -0x000000002, 0x000000004, -0x000000003, 0x000000000, 0x000000001, 0x000000001, -0x000000003, -0x000000004, 0x000000000, true);
	testInt64BinaryL1(-0x000000064, -0x000000063, 0x000000065, -0x000000064, 0x000000000, 0x000000001, 0x000000000, -0x000000063, -0x000000063, 0x000000001, true);
	testInt64BinaryR20(0x000000001, -0x000000063, 0x000000065, -0x000000064, 0x000000000, 0x000000001, 0x000000000, -0x000000063, -0x000000063, 0x000000001, true);
	testInt64BinaryL1(-0x000002711, -0x000002710, 0x000002712, -0x000002711, 0x000000000, 0x000000001, 0x000000001, -0x000002711, -0x000002712, 0x000000000, true);
	testInt64BinaryR21(0x000000001, -0x000002710, 0x000002712, -0x000002711, 0x000000000, 0x000000001, 0x000000001, -0x000002711, -0x000002712, 0x000000000, true);
	testInt64BinaryL1(-0x07fffffff, -0x07ffffffe, 0x080000000, -0x07fffffff, 0x000000000, 0x000000001, 0x000000001, -0x07fffffff, -0x080000000, 0x000000000, true);
	testInt64BinaryR22(0x000000001, -0x07ffffffe, 0x080000000, -0x07fffffff, 0x000000000, 0x000000001, 0x000000001, -0x07fffffff, -0x080000000, 0x000000000, true);
	testInt64BinaryL1(-0x080000000, -0x07fffffff, 0x080000001, -0x080000000, 0x000000000, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000001, true);
	testInt64BinaryR23(0x000000001, -0x07fffffff, 0x080000001, -0x080000000, 0x000000000, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000001, true);
	testInt64BinaryL1(-0x080000001, -0x080000000, 0x080000002, -0x080000001, 0x000000000, 0x000000001, 0x000000001, -0x080000001, -0x080000002, 0x000000000, true);
	testInt64BinaryR24(0x000000001, -0x080000000, 0x080000002, -0x080000001, 0x000000000, 0x000000001, 0x000000001, -0x080000001, -0x080000002, 0x000000000, true);
	testInt64BinaryL1(-0x0c0000000, -0x0bfffffff, 0x0c0000001, -0x0c0000000, 0x000000000, 0x000000001, 0x000000000, -0x0bfffffff, -0x0bfffffff, 0x000000001, true);
	testInt64BinaryR25(0x000000001, -0x0bfffffff, 0x0c0000001, -0x0c0000000, 0x000000000, 0x000000001, 0x000000000, -0x0bfffffff, -0x0bfffffff, 0x000000001, true);
	testInt64BinaryL1(-0x100000000, -0x0ffffffff, 0x100000001, -0x100000000, 0x000000000, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryR26(0x000000001, -0x0ffffffff, 0x100000001, -0x100000000, 0x000000000, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryL1(-0x0ffffffff, -0x0fffffffe, 0x100000000, -0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, -0x0ffffffff, -0x100000000, 0x000000000, true);
	testInt64BinaryR27(0x000000001, -0x0fffffffe, 0x100000000, -0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, -0x0ffffffff, -0x100000000, 0x000000000, true);
	testInt64BinaryL1(-0x200000000, -0x1ffffffff, 0x200000001, -0x200000000, 0x000000000, 0x000000001, 0x000000000, -0x1ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64BinaryR28(0x000000001, -0x1ffffffff, 0x200000001, -0x200000000, 0x000000000, 0x000000001, 0x000000000, -0x1ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64BinaryL1(-0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000000001, true);
	testInt64BinaryR29(0x000000001, -0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000000001, true);
	testInt64BinaryL1(-0x7fffffffffffffff, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryR30(0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryL1(-0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryR31(0x000000001, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryL1(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba9, 0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, 0x000000000, 0x000000001, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, 0x000000001, true);
	testInt64BinaryR32(0x000000001, -0x789abcdd0fedcba9, 0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, 0x000000000, 0x000000001, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, 0x000000001, true);
	testInt64ShiftL1(0x000000000, 0x000000001, 0x000000001);
	testInt64ShiftR0(0x000000001, 0x000000001, 0x000000001);
	testInt64ShiftL1(0x000000001, 0x000000002, 0x000000000);
	testInt64ShiftR1(0x000000001, 0x000000002, 0x000000000);
	testInt64ShiftL1(0x000000002, 0x000000004, 0x000000000);
	testInt64ShiftR2(0x000000001, 0x000000004, 0x000000000);
	testInt64ShiftL1(0x000000003, 0x000000008, 0x000000000);
	testInt64ShiftR3(0x000000001, 0x000000008, 0x000000000);
	testInt64ShiftL1(0x00000000f, 0x000008000, 0x000000000);
	testInt64ShiftR4(0x000000001, 0x000008000, 0x000000000);
	testInt64ShiftL1(0x000000010, 0x000010000, 0x000000000);
	testInt64ShiftR5(0x000000001, 0x000010000, 0x000000000);
	testInt64ShiftL1(0x000000011, 0x000020000, 0x000000000);
	testInt64ShiftR6(0x000000001, 0x000020000, 0x000000000);
	testInt64ShiftL1(0x00000001f, 0x080000000, 0x000000000);
	testInt64ShiftR7(0x000000001, 0x080000000, 0x000000000);
	testInt64ShiftL1(0x000000020, 0x100000000, 0x000000000);
	testInt64ShiftR8(0x000000001, 0x100000000, 0x000000000);
	testInt64ShiftL1(0x000000021, 0x200000000, 0x000000000);
	testInt64ShiftR9(0x000000001, 0x200000000, 0x000000000);
	testInt64ShiftL1(0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x000000001, 0x2000000000000000, 0x000000000);
	testInt64ShiftL1(0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x000000001, 0x4000000000000000, 0x000000000);
	testInt64ShiftL1(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x000000001, -0x8000000000000000, 0x000000000);
	testInt64ShiftL1(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000000001, 0x000000000, 0x000000000);
	testInt64ShiftL1(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000000001, 0x000000000, 0x000000000);
}
func test57() {
	testInt64BinaryL2(0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testInt64BinaryR0(0x000000002, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testInt64BinaryL2(0x000000001, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testInt64BinaryR1(0x000000002, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testInt64BinaryL2(0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testInt64BinaryR2(0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testInt64BinaryL2(0x000000003, 0x000000005, -0x000000001, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testInt64BinaryR3(0x000000002, 0x000000005, -0x000000001, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testInt64BinaryL2(0x000000064, 0x000000066, -0x000000062, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testInt64BinaryR4(0x000000002, 0x000000066, -0x000000062, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testInt64BinaryL2(0x000002711, 0x000002713, -0x00000270f, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testInt64BinaryR5(0x000000002, 0x000002713, -0x00000270f, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testInt64BinaryL2(0x07fffffff, 0x080000001, -0x07ffffffd, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testInt64BinaryR6(0x000000002, 0x080000001, -0x07ffffffd, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testInt64BinaryL2(0x080000000, 0x080000002, -0x07ffffffe, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testInt64BinaryR7(0x000000002, 0x080000002, -0x07ffffffe, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testInt64BinaryL2(0x080000001, 0x080000003, -0x07fffffff, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testInt64BinaryR8(0x000000002, 0x080000003, -0x07fffffff, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testInt64BinaryL2(0x0c0000000, 0x0c0000002, -0x0bffffffe, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testInt64BinaryR9(0x000000002, 0x0c0000002, -0x0bffffffe, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testInt64BinaryL2(0x0ffffffff, 0x100000001, -0x0fffffffd, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testInt64BinaryR10(0x000000002, 0x100000001, -0x0fffffffd, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testInt64BinaryL2(0x100000000, 0x100000002, -0x0fffffffe, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testInt64BinaryR11(0x000000002, 0x100000002, -0x0fffffffe, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testInt64BinaryL2(0x100000001, 0x100000003, -0x0ffffffff, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testInt64BinaryR12(0x000000002, 0x100000003, -0x0ffffffff, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testInt64BinaryL2(0x200000000, 0x200000002, -0x1fffffffe, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testInt64BinaryR13(0x000000002, 0x200000002, -0x1fffffffe, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testInt64BinaryL2(0x7fffffffffffd8f0, 0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testInt64BinaryR14(0x000000002, 0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testInt64BinaryL2(0x7fffffffffffffff, -0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64BinaryR15(0x000000002, -0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64BinaryL2(0x789abcdef0123456, 0x789abcdef0123458, -0x789abcdef0123454, -0xeca86421fdb9754, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testInt64BinaryR16(0x000000002, 0x789abcdef0123458, -0x789abcdef0123454, -0xeca86421fdb9754, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testInt64BinaryL2(-0x000000001, 0x000000001, 0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000002, -0x000000001, -0x000000003, 0x000000000, true);
	testInt64BinaryR17(0x000000002, 0x000000001, 0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000002, -0x000000001, -0x000000003, 0x000000000, true);
	testInt64BinaryL2(-0x000000002, 0x000000000, 0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, 0x000000000, true);
	testInt64BinaryR18(0x000000002, 0x000000000, 0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, 0x000000000, true);
	testInt64BinaryL2(-0x000000003, -0x000000001, 0x000000005, -0x000000006, 0x000000000, 0x000000002, 0x000000000, -0x000000001, -0x000000001, 0x000000002, true);
	testInt64BinaryR19(0x000000002, -0x000000001, 0x000000005, -0x000000006, 0x000000000, 0x000000002, 0x000000000, -0x000000001, -0x000000001, 0x000000002, true);
	testInt64BinaryL2(-0x000000064, -0x000000062, 0x000000066, -0x0000000c8, 0x000000000, 0x000000002, 0x000000000, -0x000000062, -0x000000062, 0x000000002, true);
	testInt64BinaryR20(0x000000002, -0x000000062, 0x000000066, -0x0000000c8, 0x000000000, 0x000000002, 0x000000000, -0x000000062, -0x000000062, 0x000000002, true);
	testInt64BinaryL2(-0x000002711, -0x00000270f, 0x000002713, -0x000004e22, 0x000000000, 0x000000002, 0x000000002, -0x000002711, -0x000002713, 0x000000000, true);
	testInt64BinaryR21(0x000000002, -0x00000270f, 0x000002713, -0x000004e22, 0x000000000, 0x000000002, 0x000000002, -0x000002711, -0x000002713, 0x000000000, true);
	testInt64BinaryL2(-0x07fffffff, -0x07ffffffd, 0x080000001, -0x0fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000002, true);
	testInt64BinaryR22(0x000000002, -0x07ffffffd, 0x080000001, -0x0fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000002, true);
	testInt64BinaryL2(-0x080000000, -0x07ffffffe, 0x080000002, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffe, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryR23(0x000000002, -0x07ffffffe, 0x080000002, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x07ffffffe, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryL2(-0x080000001, -0x07fffffff, 0x080000003, -0x100000002, 0x000000000, 0x000000002, 0x000000002, -0x080000001, -0x080000003, 0x000000000, true);
	testInt64BinaryR24(0x000000002, -0x07fffffff, 0x080000003, -0x100000002, 0x000000000, 0x000000002, 0x000000002, -0x080000001, -0x080000003, 0x000000000, true);
	testInt64BinaryL2(-0x0c0000000, -0x0bffffffe, 0x0c0000002, -0x180000000, 0x000000000, 0x000000002, 0x000000000, -0x0bffffffe, -0x0bffffffe, 0x000000002, true);
	testInt64BinaryR25(0x000000002, -0x0bffffffe, 0x0c0000002, -0x180000000, 0x000000000, 0x000000002, 0x000000000, -0x0bffffffe, -0x0bffffffe, 0x000000002, true);
	testInt64BinaryL2(-0x100000000, -0x0fffffffe, 0x100000002, -0x200000000, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffe, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryR26(0x000000002, -0x0fffffffe, 0x100000002, -0x200000000, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffe, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryL2(-0x0ffffffff, -0x0fffffffd, 0x100000001, -0x1fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000002, true);
	testInt64BinaryR27(0x000000002, -0x0fffffffd, 0x100000001, -0x1fffffffe, 0x000000000, 0x000000002, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000002, true);
	testInt64BinaryL2(-0x200000000, -0x1fffffffe, 0x200000002, -0x400000000, 0x000000000, 0x000000002, 0x000000000, -0x1fffffffe, -0x1fffffffe, 0x000000002, true);
	testInt64BinaryR28(0x000000002, -0x1fffffffe, 0x200000002, -0x400000000, 0x000000000, 0x000000002, 0x000000000, -0x1fffffffe, -0x1fffffffe, 0x000000002, true);
	testInt64BinaryL2(-0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, 0x000000000, 0x000000002, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, 0x000000002, true);
	testInt64BinaryR29(0x000000002, -0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, 0x000000000, 0x000000002, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, 0x000000002, true);
	testInt64BinaryL2(-0x7fffffffffffffff, -0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000002, true);
	testInt64BinaryR30(0x000000002, -0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000002, true);
	testInt64BinaryL2(-0x8000000000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryR31(0x000000002, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x000000000, 0x000000002, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryL2(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba8, 0x789abcdd0fedcbac, 0xeca8645e02468ac, 0x000000000, 0x000000002, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, 0x000000000, true);
	testInt64BinaryR32(0x000000002, -0x789abcdd0fedcba8, 0x789abcdd0fedcbac, 0xeca8645e02468ac, 0x000000000, 0x000000002, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, 0x000000000, true);
	testInt64ShiftL2(0x000000000, 0x000000002, 0x000000002);
	testInt64ShiftR0(0x000000002, 0x000000002, 0x000000002);
	testInt64ShiftL2(0x000000001, 0x000000004, 0x000000001);
	testInt64ShiftR1(0x000000002, 0x000000004, 0x000000001);
	testInt64ShiftL2(0x000000002, 0x000000008, 0x000000000);
	testInt64ShiftR2(0x000000002, 0x000000008, 0x000000000);
	testInt64ShiftL2(0x000000003, 0x000000010, 0x000000000);
	testInt64ShiftR3(0x000000002, 0x000000010, 0x000000000);
	testInt64ShiftL2(0x00000000f, 0x000010000, 0x000000000);
	testInt64ShiftR4(0x000000002, 0x000010000, 0x000000000);
	testInt64ShiftL2(0x000000010, 0x000020000, 0x000000000);
	testInt64ShiftR5(0x000000002, 0x000020000, 0x000000000);
	testInt64ShiftL2(0x000000011, 0x000040000, 0x000000000);
	testInt64ShiftR6(0x000000002, 0x000040000, 0x000000000);
	testInt64ShiftL2(0x00000001f, 0x100000000, 0x000000000);
	testInt64ShiftR7(0x000000002, 0x100000000, 0x000000000);
	testInt64ShiftL2(0x000000020, 0x200000000, 0x000000000);
	testInt64ShiftR8(0x000000002, 0x200000000, 0x000000000);
	testInt64ShiftL2(0x000000021, 0x400000000, 0x000000000);
	testInt64ShiftR9(0x000000002, 0x400000000, 0x000000000);
	testInt64ShiftL2(0x00000003d, 0x4000000000000000, 0x000000000);
	testInt64ShiftR10(0x000000002, 0x4000000000000000, 0x000000000);
	testInt64ShiftL2(0x00000003e, -0x8000000000000000, 0x000000000);
	testInt64ShiftR11(0x000000002, -0x8000000000000000, 0x000000000);
	testInt64ShiftL2(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000000002, 0x000000000, 0x000000000);
	testInt64ShiftL2(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000000002, 0x000000000, 0x000000000);
}
func test58() {
	testInt64BinaryL3(0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testInt64BinaryR0(0x000000003, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testInt64BinaryL3(0x000000001, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testInt64BinaryR1(0x000000003, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testInt64BinaryL3(0x000000002, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testInt64BinaryR2(0x000000003, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testInt64BinaryL3(0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testInt64BinaryR3(0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testInt64BinaryL3(0x000000064, 0x000000067, -0x000000061, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testInt64BinaryR4(0x000000003, 0x000000067, -0x000000061, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testInt64BinaryL3(0x000002711, 0x000002714, -0x00000270e, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testInt64BinaryR5(0x000000003, 0x000002714, -0x00000270e, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testInt64BinaryL3(0x07fffffff, 0x080000002, -0x07ffffffc, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testInt64BinaryR6(0x000000003, 0x080000002, -0x07ffffffc, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testInt64BinaryL3(0x080000000, 0x080000003, -0x07ffffffd, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testInt64BinaryR7(0x000000003, 0x080000003, -0x07ffffffd, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testInt64BinaryL3(0x080000001, 0x080000004, -0x07ffffffe, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testInt64BinaryR8(0x000000003, 0x080000004, -0x07ffffffe, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testInt64BinaryL3(0x0c0000000, 0x0c0000003, -0x0bffffffd, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testInt64BinaryR9(0x000000003, 0x0c0000003, -0x0bffffffd, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testInt64BinaryL3(0x0ffffffff, 0x100000002, -0x0fffffffc, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testInt64BinaryR10(0x000000003, 0x100000002, -0x0fffffffc, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testInt64BinaryL3(0x100000000, 0x100000003, -0x0fffffffd, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testInt64BinaryR11(0x000000003, 0x100000003, -0x0fffffffd, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testInt64BinaryL3(0x100000001, 0x100000004, -0x0fffffffe, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testInt64BinaryR12(0x000000003, 0x100000004, -0x0fffffffe, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testInt64BinaryL3(0x200000000, 0x200000003, -0x1fffffffd, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testInt64BinaryR13(0x000000003, 0x200000003, -0x1fffffffd, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testInt64BinaryL3(0x7fffffffffffd8f0, 0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testInt64BinaryR14(0x000000003, 0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testInt64BinaryL3(0x7fffffffffffffff, -0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64BinaryR15(0x000000003, -0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64BinaryL3(0x789abcdef0123456, 0x789abcdef0123459, -0x789abcdef0123453, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testInt64BinaryR16(0x000000003, 0x789abcdef0123459, -0x789abcdef0123453, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testInt64BinaryL3(-0x000000001, 0x000000002, 0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000003, -0x000000001, -0x000000004, 0x000000000, true);
	testInt64BinaryR17(0x000000003, 0x000000002, 0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000003, -0x000000001, -0x000000004, 0x000000000, true);
	testInt64BinaryL3(-0x000000002, 0x000000001, 0x000000005, -0x000000006, -0x000000001, 0x000000001, 0x000000002, -0x000000001, -0x000000003, 0x000000001, true);
	testInt64BinaryR18(0x000000003, 0x000000001, 0x000000005, -0x000000006, -0x000000001, 0x000000001, 0x000000002, -0x000000001, -0x000000003, 0x000000001, true);
	testInt64BinaryL3(-0x000000003, 0x000000000, 0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000002, true);
	testInt64BinaryR19(0x000000003, 0x000000000, 0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000000002, true);
	testInt64BinaryL3(-0x000000064, -0x000000061, 0x000000067, -0x00000012c, 0x000000000, 0x000000003, 0x000000000, -0x000000061, -0x000000061, 0x000000003, true);
	testInt64BinaryR20(0x000000003, -0x000000061, 0x000000067, -0x00000012c, 0x000000000, 0x000000003, 0x000000000, -0x000000061, -0x000000061, 0x000000003, true);
	testInt64BinaryL3(-0x000002711, -0x00000270e, 0x000002714, -0x000007533, 0x000000000, 0x000000003, 0x000000003, -0x000002711, -0x000002714, 0x000000000, true);
	testInt64BinaryR21(0x000000003, -0x00000270e, 0x000002714, -0x000007533, 0x000000000, 0x000000003, 0x000000003, -0x000002711, -0x000002714, 0x000000000, true);
	testInt64BinaryL3(-0x07fffffff, -0x07ffffffc, 0x080000002, -0x17ffffffd, 0x000000000, 0x000000003, 0x000000001, -0x07ffffffd, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryR22(0x000000003, -0x07ffffffc, 0x080000002, -0x17ffffffd, 0x000000000, 0x000000003, 0x000000001, -0x07ffffffd, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryL3(-0x080000000, -0x07ffffffd, 0x080000003, -0x180000000, 0x000000000, 0x000000003, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000003, true);
	testInt64BinaryR23(0x000000003, -0x07ffffffd, 0x080000003, -0x180000000, 0x000000000, 0x000000003, 0x000000000, -0x07ffffffd, -0x07ffffffd, 0x000000003, true);
	testInt64BinaryL3(-0x080000001, -0x07ffffffe, 0x080000004, -0x180000003, 0x000000000, 0x000000003, 0x000000003, -0x080000001, -0x080000004, 0x000000000, true);
	testInt64BinaryR24(0x000000003, -0x07ffffffe, 0x080000004, -0x180000003, 0x000000000, 0x000000003, 0x000000003, -0x080000001, -0x080000004, 0x000000000, true);
	testInt64BinaryL3(-0x0c0000000, -0x0bffffffd, 0x0c0000003, -0x240000000, 0x000000000, 0x000000003, 0x000000000, -0x0bffffffd, -0x0bffffffd, 0x000000003, true);
	testInt64BinaryR25(0x000000003, -0x0bffffffd, 0x0c0000003, -0x240000000, 0x000000000, 0x000000003, 0x000000000, -0x0bffffffd, -0x0bffffffd, 0x000000003, true);
	testInt64BinaryL3(-0x100000000, -0x0fffffffd, 0x100000003, -0x300000000, 0x000000000, 0x000000003, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000003, true);
	testInt64BinaryR26(0x000000003, -0x0fffffffd, 0x100000003, -0x300000000, 0x000000000, 0x000000003, 0x000000000, -0x0fffffffd, -0x0fffffffd, 0x000000003, true);
	testInt64BinaryL3(-0x0ffffffff, -0x0fffffffc, 0x100000002, -0x2fffffffd, 0x000000000, 0x000000003, 0x000000001, -0x0fffffffd, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryR27(0x000000003, -0x0fffffffc, 0x100000002, -0x2fffffffd, 0x000000000, 0x000000003, 0x000000001, -0x0fffffffd, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryL3(-0x200000000, -0x1fffffffd, 0x200000003, -0x600000000, 0x000000000, 0x000000003, 0x000000000, -0x1fffffffd, -0x1fffffffd, 0x000000003, true);
	testInt64BinaryR28(0x000000003, -0x1fffffffd, 0x200000003, -0x600000000, 0x000000000, 0x000000003, 0x000000000, -0x1fffffffd, -0x1fffffffd, 0x000000003, true);
	testInt64BinaryL3(-0x7fffffffffffd8f0, -0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, 0x000000003, true);
	testInt64BinaryR29(0x000000003, -0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, 0x000000003, true);
	testInt64BinaryL3(-0x7fffffffffffffff, -0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryR30(0x000000003, -0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryL3(-0x8000000000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, 0x000000003, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000003, true);
	testInt64BinaryR31(0x000000003, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, 0x000000003, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, 0x000000003, true);
	testInt64BinaryL3(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba7, 0x789abcdd0fedcbad, -0x69d036972fc962fe, 0x000000000, 0x000000003, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, 0x000000001, true);
	testInt64BinaryR32(0x000000003, -0x789abcdd0fedcba7, 0x789abcdd0fedcbad, -0x69d036972fc962fe, 0x000000000, 0x000000003, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, 0x000000001, true);
	testInt64ShiftL3(0x000000000, 0x000000003, 0x000000003);
	testInt64ShiftR0(0x000000003, 0x000000003, 0x000000003);
	testInt64ShiftL3(0x000000001, 0x000000006, 0x000000001);
	testInt64ShiftR1(0x000000003, 0x000000006, 0x000000001);
	testInt64ShiftL3(0x000000002, 0x00000000c, 0x000000000);
	testInt64ShiftR2(0x000000003, 0x00000000c, 0x000000000);
	testInt64ShiftL3(0x000000003, 0x000000018, 0x000000000);
	testInt64ShiftR3(0x000000003, 0x000000018, 0x000000000);
	testInt64ShiftL3(0x00000000f, 0x000018000, 0x000000000);
	testInt64ShiftR4(0x000000003, 0x000018000, 0x000000000);
	testInt64ShiftL3(0x000000010, 0x000030000, 0x000000000);
	testInt64ShiftR5(0x000000003, 0x000030000, 0x000000000);
	testInt64ShiftL3(0x000000011, 0x000060000, 0x000000000);
	testInt64ShiftR6(0x000000003, 0x000060000, 0x000000000);
	testInt64ShiftL3(0x00000001f, 0x180000000, 0x000000000);
	testInt64ShiftR7(0x000000003, 0x180000000, 0x000000000);
	testInt64ShiftL3(0x000000020, 0x300000000, 0x000000000);
	testInt64ShiftR8(0x000000003, 0x300000000, 0x000000000);
	testInt64ShiftL3(0x000000021, 0x600000000, 0x000000000);
	testInt64ShiftR9(0x000000003, 0x600000000, 0x000000000);
	testInt64ShiftL3(0x00000003d, 0x6000000000000000, 0x000000000);
	testInt64ShiftR10(0x000000003, 0x6000000000000000, 0x000000000);
	testInt64ShiftL3(0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x000000003, -0x4000000000000000, 0x000000000);
	testInt64ShiftL3(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x000000003, -0x8000000000000000, 0x000000000);
	testInt64ShiftL3(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000000003, 0x000000000, 0x000000000);
	testInt64ShiftL3(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000000003, 0x000000000, 0x000000000);
}
func test59() {
	testInt64BinaryL4(0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testInt64BinaryR0(0x000000064, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testInt64BinaryL4(0x000000001, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testInt64BinaryR1(0x000000064, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testInt64BinaryL4(0x000000002, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testInt64BinaryR2(0x000000064, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testInt64BinaryL4(0x000000003, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testInt64BinaryR3(0x000000064, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testInt64BinaryL4(0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testInt64BinaryR4(0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testInt64BinaryL4(0x000002711, 0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testInt64BinaryR5(0x000000064, 0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testInt64BinaryL4(0x07fffffff, 0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testInt64BinaryR6(0x000000064, 0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testInt64BinaryL4(0x080000000, 0x080000064, -0x07fffff9c, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testInt64BinaryR7(0x000000064, 0x080000064, -0x07fffff9c, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testInt64BinaryL4(0x080000001, 0x080000065, -0x07fffff9d, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testInt64BinaryR8(0x000000064, 0x080000065, -0x07fffff9d, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testInt64BinaryL4(0x0c0000000, 0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testInt64BinaryR9(0x000000064, 0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testInt64BinaryL4(0x0ffffffff, 0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testInt64BinaryR10(0x000000064, 0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testInt64BinaryL4(0x100000000, 0x100000064, -0x0ffffff9c, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testInt64BinaryR11(0x000000064, 0x100000064, -0x0ffffff9c, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testInt64BinaryL4(0x100000001, 0x100000065, -0x0ffffff9d, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testInt64BinaryR12(0x000000064, 0x100000065, -0x0ffffff9d, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testInt64BinaryL4(0x200000000, 0x200000064, -0x1ffffff9c, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testInt64BinaryR13(0x000000064, 0x200000064, -0x1ffffff9c, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testInt64BinaryL4(0x7fffffffffffd8f0, 0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testInt64BinaryR14(0x000000064, 0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testInt64BinaryL4(0x7fffffffffffffff, -0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testInt64BinaryR15(0x000000064, -0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testInt64BinaryL4(0x789abcdef0123456, 0x789abcdef01234ba, -0x789abcdef01233f2, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testInt64BinaryR16(0x000000064, 0x789abcdef01234ba, -0x789abcdef01233f2, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testInt64BinaryL4(-0x000000001, 0x000000063, 0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000064, -0x000000001, -0x000000065, 0x000000000, true);
	testInt64BinaryR17(0x000000064, 0x000000063, 0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000064, -0x000000001, -0x000000065, 0x000000000, true);
	testInt64BinaryL4(-0x000000002, 0x000000062, 0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000064, -0x000000002, -0x000000066, 0x000000000, true);
	testInt64BinaryR18(0x000000064, 0x000000062, 0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000064, -0x000000002, -0x000000066, 0x000000000, true);
	testInt64BinaryL4(-0x000000003, 0x000000061, 0x000000067, -0x00000012c, -0x000000021, 0x000000001, 0x000000064, -0x000000003, -0x000000067, 0x000000000, true);
	testInt64BinaryR19(0x000000064, 0x000000061, 0x000000067, -0x00000012c, -0x000000021, 0x000000001, 0x000000064, -0x000000003, -0x000000067, 0x000000000, true);
	testInt64BinaryL4(-0x000000064, 0x000000000, 0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, 0x000000060, true);
	testInt64BinaryR20(0x000000064, 0x000000000, 0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, 0x000000060, true);
	testInt64BinaryL4(-0x000002711, -0x0000026ad, 0x000002775, -0x0000f42a4, 0x000000000, 0x000000064, 0x000000064, -0x000002711, -0x000002775, 0x000000000, true);
	testInt64BinaryR21(0x000000064, -0x0000026ad, 0x000002775, -0x0000f42a4, 0x000000000, 0x000000064, 0x000000064, -0x000002711, -0x000002775, 0x000000000, true);
	testInt64BinaryL4(-0x07fffffff, -0x07fffff9b, 0x080000063, -0x31ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9b, -0x07fffff9b, 0x000000064, true);
	testInt64BinaryR22(0x000000064, -0x07fffff9b, 0x080000063, -0x31ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9b, -0x07fffff9b, 0x000000064, true);
	testInt64BinaryL4(-0x080000000, -0x07fffff9c, 0x080000064, -0x3200000000, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9c, -0x07fffff9c, 0x000000064, true);
	testInt64BinaryR23(0x000000064, -0x07fffff9c, 0x080000064, -0x3200000000, 0x000000000, 0x000000064, 0x000000000, -0x07fffff9c, -0x07fffff9c, 0x000000064, true);
	testInt64BinaryL4(-0x080000001, -0x07fffff9d, 0x080000065, -0x3200000064, 0x000000000, 0x000000064, 0x000000064, -0x080000001, -0x080000065, 0x000000000, true);
	testInt64BinaryR24(0x000000064, -0x07fffff9d, 0x080000065, -0x3200000064, 0x000000000, 0x000000064, 0x000000064, -0x080000001, -0x080000065, 0x000000000, true);
	testInt64BinaryL4(-0x0c0000000, -0x0bfffff9c, 0x0c0000064, -0x4b00000000, 0x000000000, 0x000000064, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, 0x000000064, true);
	testInt64BinaryR25(0x000000064, -0x0bfffff9c, 0x0c0000064, -0x4b00000000, 0x000000000, 0x000000064, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, 0x000000064, true);
	testInt64BinaryL4(-0x100000000, -0x0ffffff9c, 0x100000064, -0x6400000000, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, 0x000000064, true);
	testInt64BinaryR26(0x000000064, -0x0ffffff9c, 0x100000064, -0x6400000000, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, 0x000000064, true);
	testInt64BinaryL4(-0x0ffffffff, -0x0ffffff9b, 0x100000063, -0x63ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, 0x000000064, true);
	testInt64BinaryR27(0x000000064, -0x0ffffff9b, 0x100000063, -0x63ffffff9c, 0x000000000, 0x000000064, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, 0x000000064, true);
	testInt64BinaryL4(-0x200000000, -0x1ffffff9c, 0x200000064, -0xc800000000, 0x000000000, 0x000000064, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, 0x000000064, true);
	testInt64BinaryR28(0x000000064, -0x1ffffff9c, 0x200000064, -0xc800000000, 0x000000000, 0x000000064, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, 0x000000064, true);
	testInt64BinaryL4(-0x7fffffffffffd8f0, -0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, 0x000000064, true);
	testInt64BinaryR29(0x000000064, -0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, 0x000000064, true);
	testInt64BinaryL4(-0x7fffffffffffffff, -0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, 0x000000064, true);
	testInt64BinaryR30(0x000000064, -0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, 0x000000064, true);
	testInt64BinaryL4(-0x8000000000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000064, true);
	testInt64BinaryR31(0x000000064, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x000000000, 0x000000064, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000064, true);
	testInt64BinaryL4(-0x789abcdd0fedcbaa, -0x789abcdd0fedcb46, 0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, 0x000000000, 0x000000064, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, 0x000000020, true);
	testInt64BinaryR32(0x000000064, -0x789abcdd0fedcb46, 0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, 0x000000000, 0x000000064, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, 0x000000020, true);
	testInt64ShiftL4(0x000000000, 0x000000064, 0x000000064);
	testInt64ShiftR0(0x000000064, 0x000000064, 0x000000064);
	testInt64ShiftL4(0x000000001, 0x0000000c8, 0x000000032);
	testInt64ShiftR1(0x000000064, 0x0000000c8, 0x000000032);
	testInt64ShiftL4(0x000000002, 0x000000190, 0x000000019);
	testInt64ShiftR2(0x000000064, 0x000000190, 0x000000019);
	testInt64ShiftL4(0x000000003, 0x000000320, 0x00000000c);
	testInt64ShiftR3(0x000000064, 0x000000320, 0x00000000c);
	testInt64ShiftL4(0x00000000f, 0x000320000, 0x000000000);
	testInt64ShiftR4(0x000000064, 0x000320000, 0x000000000);
	testInt64ShiftL4(0x000000010, 0x000640000, 0x000000000);
	testInt64ShiftR5(0x000000064, 0x000640000, 0x000000000);
	testInt64ShiftL4(0x000000011, 0x000c80000, 0x000000000);
	testInt64ShiftR6(0x000000064, 0x000c80000, 0x000000000);
	testInt64ShiftL4(0x00000001f, 0x3200000000, 0x000000000);
	testInt64ShiftR7(0x000000064, 0x3200000000, 0x000000000);
	testInt64ShiftL4(0x000000020, 0x6400000000, 0x000000000);
	testInt64ShiftR8(0x000000064, 0x6400000000, 0x000000000);
	testInt64ShiftL4(0x000000021, 0xc800000000, 0x000000000);
	testInt64ShiftR9(0x000000064, 0xc800000000, 0x000000000);
	testInt64ShiftL4(0x00000003d, -0x8000000000000000, 0x000000000);
	testInt64ShiftR10(0x000000064, -0x8000000000000000, 0x000000000);
	testInt64ShiftL4(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000000064, 0x000000000, 0x000000000);
	testInt64ShiftL4(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000000064, 0x000000000, 0x000000000);
}
func test60() {
	testInt64BinaryL5(0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testInt64BinaryR0(0x000002711, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testInt64BinaryL5(0x000000001, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testInt64BinaryR1(0x000002711, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testInt64BinaryL5(0x000000002, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testInt64BinaryR2(0x000002711, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testInt64BinaryL5(0x000000003, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testInt64BinaryR3(0x000002711, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testInt64BinaryL5(0x000000064, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testInt64BinaryR4(0x000002711, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testInt64BinaryL5(0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testInt64BinaryR5(0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testInt64BinaryL5(0x07fffffff, 0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testInt64BinaryR6(0x000002711, 0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testInt64BinaryL5(0x080000000, 0x080002711, -0x07fffd8ef, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testInt64BinaryR7(0x000002711, 0x080002711, -0x07fffd8ef, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testInt64BinaryL5(0x080000001, 0x080002712, -0x07fffd8f0, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testInt64BinaryR8(0x000002711, 0x080002712, -0x07fffd8f0, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testInt64BinaryL5(0x0c0000000, 0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testInt64BinaryR9(0x000002711, 0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testInt64BinaryL5(0x0ffffffff, 0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testInt64BinaryR10(0x000002711, 0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testInt64BinaryL5(0x100000000, 0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testInt64BinaryR11(0x000002711, 0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testInt64BinaryL5(0x100000001, 0x100002712, -0x0ffffd8f0, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testInt64BinaryR12(0x000002711, 0x100002712, -0x0ffffd8f0, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testInt64BinaryL5(0x200000000, 0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testInt64BinaryR13(0x000002711, 0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testInt64BinaryL5(0x7fffffffffffd8f0, -0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testInt64BinaryR14(0x000002711, -0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testInt64BinaryL5(0x7fffffffffffffff, -0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryR15(0x000002711, -0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryL5(0x789abcdef0123456, 0x789abcdef0125b67, -0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testInt64BinaryR16(0x000002711, 0x789abcdef0125b67, -0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testInt64BinaryL5(-0x000000001, 0x000002710, 0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000002711, -0x000000001, -0x000002712, 0x000000000, true);
	testInt64BinaryR17(0x000002711, 0x000002710, 0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000002711, -0x000000001, -0x000002712, 0x000000000, true);
	testInt64BinaryL5(-0x000000002, 0x00000270f, 0x000002713, -0x000004e22, -0x000001388, 0x000000001, 0x000002710, -0x000000001, -0x000002711, 0x000000001, true);
	testInt64BinaryR18(0x000002711, 0x00000270f, 0x000002713, -0x000004e22, -0x000001388, 0x000000001, 0x000002710, -0x000000001, -0x000002711, 0x000000001, true);
	testInt64BinaryL5(-0x000000003, 0x00000270e, 0x000002714, -0x000007533, -0x000000d05, 0x000000002, 0x000002711, -0x000000003, -0x000002714, 0x000000000, true);
	testInt64BinaryR19(0x000002711, 0x00000270e, 0x000002714, -0x000007533, -0x000000d05, 0x000000002, 0x000002711, -0x000000003, -0x000002714, 0x000000000, true);
	testInt64BinaryL5(-0x000000064, 0x0000026ad, 0x000002775, -0x0000f42a4, -0x000000064, 0x000000001, 0x000002710, -0x000000063, -0x000002773, 0x000000001, true);
	testInt64BinaryR20(0x000002711, 0x0000026ad, 0x000002775, -0x0000f42a4, -0x000000064, 0x000000001, 0x000002710, -0x000000063, -0x000002773, 0x000000001, true);
	testInt64BinaryL5(-0x000002711, 0x000000000, 0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000002710, true);
	testInt64BinaryR21(0x000002711, 0x000000000, 0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x000002710, true);
	testInt64BinaryL5(-0x07fffffff, -0x07fffd8ee, 0x080002710, -0x13887fffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, 0x000002710, true);
	testInt64BinaryR22(0x000002711, -0x07fffd8ee, 0x080002710, -0x13887fffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, 0x000002710, true);
	testInt64BinaryL5(-0x080000000, -0x07fffd8ef, 0x080002711, -0x138880000000, 0x000000000, 0x000002711, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, 0x000002711, true);
	testInt64BinaryR23(0x000002711, -0x07fffd8ef, 0x080002711, -0x138880000000, 0x000000000, 0x000002711, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, 0x000002711, true);
	testInt64BinaryL5(-0x080000001, -0x07fffd8f0, 0x080002712, -0x138880002711, 0x000000000, 0x000002711, 0x000002711, -0x080000001, -0x080002712, 0x000000000, true);
	testInt64BinaryR24(0x000002711, -0x07fffd8f0, 0x080002712, -0x138880002711, 0x000000000, 0x000002711, 0x000002711, -0x080000001, -0x080002712, 0x000000000, true);
	testInt64BinaryL5(-0x0c0000000, -0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, 0x000002711, true);
	testInt64BinaryR25(0x000002711, -0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, 0x000002711, true);
	testInt64BinaryL5(-0x100000000, -0x0ffffd8ef, 0x100002711, -0x271100000000, 0x000000000, 0x000002711, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, 0x000002711, true);
	testInt64BinaryR26(0x000002711, -0x0ffffd8ef, 0x100002711, -0x271100000000, 0x000000000, 0x000002711, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, 0x000002711, true);
	testInt64BinaryL5(-0x0ffffffff, -0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, 0x000002710, true);
	testInt64BinaryR27(0x000002711, -0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, 0x000002710, true);
	testInt64BinaryL5(-0x200000000, -0x1ffffd8ef, 0x200002711, -0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, 0x000002711, true);
	testInt64BinaryR28(0x000002711, -0x1ffffd8ef, 0x200002711, -0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, 0x000002711, true);
	testInt64BinaryL5(-0x7fffffffffffd8f0, -0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryR29(0x000002711, -0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryL5(-0x7fffffffffffffff, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64BinaryR30(0x000002711, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64BinaryL5(-0x8000000000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, 0x000002711, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000002711, true);
	testInt64BinaryR31(0x000002711, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, 0x000002711, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, 0x000002711, true);
	testInt64BinaryL5(-0x789abcdd0fedcbaa, -0x789abcdd0feda499, 0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, 0x000000000, 0x000002711, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, 0x000000301, true);
	testInt64BinaryR32(0x000002711, -0x789abcdd0feda499, 0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, 0x000000000, 0x000002711, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, 0x000000301, true);
	testInt64ShiftL5(0x000000000, 0x000002711, 0x000002711);
	testInt64ShiftR0(0x000002711, 0x000002711, 0x000002711);
	testInt64ShiftL5(0x000000001, 0x000004e22, 0x000001388);
	testInt64ShiftR1(0x000002711, 0x000004e22, 0x000001388);
	testInt64ShiftL5(0x000000002, 0x000009c44, 0x0000009c4);
	testInt64ShiftR2(0x000002711, 0x000009c44, 0x0000009c4);
	testInt64ShiftL5(0x000000003, 0x000013888, 0x0000004e2);
	testInt64ShiftR3(0x000002711, 0x000013888, 0x0000004e2);
	testInt64ShiftL5(0x00000000f, 0x013888000, 0x000000000);
	testInt64ShiftR4(0x000002711, 0x013888000, 0x000000000);
	testInt64ShiftL5(0x000000010, 0x027110000, 0x000000000);
	testInt64ShiftR5(0x000002711, 0x027110000, 0x000000000);
	testInt64ShiftL5(0x000000011, 0x04e220000, 0x000000000);
	testInt64ShiftR6(0x000002711, 0x04e220000, 0x000000000);
	testInt64ShiftL5(0x00000001f, 0x138880000000, 0x000000000);
	testInt64ShiftR7(0x000002711, 0x138880000000, 0x000000000);
	testInt64ShiftL5(0x000000020, 0x271100000000, 0x000000000);
	testInt64ShiftR8(0x000002711, 0x271100000000, 0x000000000);
	testInt64ShiftL5(0x000000021, 0x4e2200000000, 0x000000000);
	testInt64ShiftR9(0x000002711, 0x4e2200000000, 0x000000000);
	testInt64ShiftL5(0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x000002711, 0x2000000000000000, 0x000000000);
	testInt64ShiftL5(0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x000002711, 0x4000000000000000, 0x000000000);
	testInt64ShiftL5(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x000002711, -0x8000000000000000, 0x000000000);
	testInt64ShiftL5(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x000002711, 0x000000000, 0x000000000);
	testInt64ShiftL5(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x000002711, 0x000000000, 0x000000000);
}
func test61() {
	testInt64BinaryL6(0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testInt64BinaryR0(0x07fffffff, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testInt64BinaryL6(0x000000001, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryR1(0x07fffffff, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryL6(0x000000002, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testInt64BinaryR2(0x07fffffff, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testInt64BinaryL6(0x000000003, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testInt64BinaryR3(0x07fffffff, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testInt64BinaryL6(0x000000064, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testInt64BinaryR4(0x07fffffff, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testInt64BinaryL6(0x000002711, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64BinaryR5(0x07fffffff, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64BinaryL6(0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR6(0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL6(0x080000000, 0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testInt64BinaryR7(0x07fffffff, 0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testInt64BinaryL6(0x080000001, 0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testInt64BinaryR8(0x07fffffff, 0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testInt64BinaryL6(0x0c0000000, 0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testInt64BinaryR9(0x07fffffff, 0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testInt64BinaryL6(0x0ffffffff, 0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testInt64BinaryR10(0x07fffffff, 0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testInt64BinaryL6(0x100000000, 0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testInt64BinaryR11(0x07fffffff, 0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testInt64BinaryL6(0x100000001, 0x180000000, -0x080000002, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testInt64BinaryR12(0x07fffffff, 0x180000000, -0x080000002, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testInt64BinaryL6(0x200000000, 0x27fffffff, -0x180000001, -0x200000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testInt64BinaryR13(0x07fffffff, 0x27fffffff, -0x180000001, -0x200000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testInt64BinaryL6(0x7fffffffffffd8f0, -0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testInt64BinaryR14(0x07fffffff, -0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testInt64BinaryL6(0x7fffffffffffffff, -0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryR15(0x07fffffff, -0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryL6(0x789abcdef0123456, 0x789abcdf70123455, -0x789abcde70123457, -0x91a2b3f0123456, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testInt64BinaryR16(0x07fffffff, 0x789abcdf70123455, -0x789abcde70123457, -0x91a2b3f0123456, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testInt64BinaryL6(-0x000000001, 0x07ffffffe, 0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x07fffffff, -0x000000001, -0x080000000, 0x000000000, true);
	testInt64BinaryR17(0x07fffffff, 0x07ffffffe, 0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x07fffffff, -0x000000001, -0x080000000, 0x000000000, true);
	testInt64BinaryL6(-0x000000002, 0x07ffffffd, 0x080000001, -0x0fffffffe, -0x03fffffff, 0x000000001, 0x07ffffffe, -0x000000001, -0x07fffffff, 0x000000001, true);
	testInt64BinaryR18(0x07fffffff, 0x07ffffffd, 0x080000001, -0x0fffffffe, -0x03fffffff, 0x000000001, 0x07ffffffe, -0x000000001, -0x07fffffff, 0x000000001, true);
	testInt64BinaryL6(-0x000000003, 0x07ffffffc, 0x080000002, -0x17ffffffd, -0x02aaaaaaa, 0x000000001, 0x07ffffffd, -0x000000001, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryR19(0x07fffffff, 0x07ffffffc, 0x080000002, -0x17ffffffd, -0x02aaaaaaa, 0x000000001, 0x07ffffffd, -0x000000001, -0x07ffffffe, 0x000000002, true);
	testInt64BinaryL6(-0x000000064, 0x07fffff9b, 0x080000063, -0x31ffffff9c, -0x00147ae14, 0x00000002f, 0x07fffff9c, -0x000000001, -0x07fffff9d, 0x000000063, true);
	testInt64BinaryR20(0x07fffffff, 0x07fffff9b, 0x080000063, -0x31ffffff9c, -0x00147ae14, 0x00000002f, 0x07fffff9c, -0x000000001, -0x07fffff9d, 0x000000063, true);
	testInt64BinaryL6(-0x000002711, 0x07fffd8ee, 0x080002710, -0x13887fffd8ef, -0x0000346c6, 0x0000022d9, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, 0x000002710, true);
	testInt64BinaryR21(0x07fffffff, 0x07fffd8ee, 0x080002710, -0x13887fffd8ef, -0x0000346c6, 0x0000022d9, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, 0x000002710, true);
	testInt64BinaryL6(-0x07fffffff, 0x000000000, 0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x07ffffffe, true);
	testInt64BinaryR22(0x07fffffff, 0x000000000, 0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x07ffffffe, true);
	testInt64BinaryL6(-0x080000000, -0x000000001, 0x0ffffffff, -0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, -0x000000001, -0x000000001, 0x07fffffff, true);
	testInt64BinaryR23(0x07fffffff, -0x000000001, 0x0ffffffff, -0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, -0x000000001, -0x000000001, 0x07fffffff, true);
	testInt64BinaryL6(-0x080000001, -0x000000002, 0x100000000, -0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x07fffffff, -0x080000001, -0x100000000, 0x000000000, true);
	testInt64BinaryR24(0x07fffffff, -0x000000002, 0x100000000, -0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x07fffffff, -0x080000001, -0x100000000, 0x000000000, true);
	testInt64BinaryL6(-0x0c0000000, -0x040000001, 0x13fffffff, -0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, -0x080000001, -0x0c0000001, 0x03fffffff, true);
	testInt64BinaryR25(0x07fffffff, -0x040000001, 0x13fffffff, -0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, -0x080000001, -0x0c0000001, 0x03fffffff, true);
	testInt64BinaryL6(-0x100000000, -0x080000001, 0x17fffffff, -0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, -0x080000001, -0x080000001, 0x07fffffff, true);
	testInt64BinaryR26(0x07fffffff, -0x080000001, 0x17fffffff, -0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, -0x080000001, -0x080000001, 0x07fffffff, true);
	testInt64BinaryL6(-0x0ffffffff, -0x080000000, 0x17ffffffe, -0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x080000001, -0x080000002, 0x07ffffffe, true);
	testInt64BinaryR27(0x07fffffff, -0x080000000, 0x17ffffffe, -0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x080000001, -0x080000002, 0x07ffffffe, true);
	testInt64BinaryL6(-0x200000000, -0x180000001, 0x27fffffff, 0x200000000, 0x000000000, 0x07fffffff, 0x000000000, -0x180000001, -0x180000001, 0x07fffffff, true);
	testInt64BinaryR28(0x07fffffff, -0x180000001, 0x27fffffff, 0x200000000, 0x000000000, 0x07fffffff, 0x000000000, -0x180000001, -0x180000001, 0x07fffffff, true);
	testInt64BinaryL6(-0x7fffffffffffd8f0, -0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, 0x07fffd8ef, true);
	testInt64BinaryR29(0x07fffffff, -0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, 0x07fffd8ef, true);
	testInt64BinaryL6(-0x7fffffffffffffff, -0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64BinaryR30(0x07fffffff, -0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64BinaryL6(-0x8000000000000000, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x000000000, 0x07fffffff, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64BinaryR31(0x07fffffff, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x000000000, 0x07fffffff, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64BinaryL6(-0x789abcdd0fedcbaa, -0x789abcdc8fedcbab, 0x789abcdd8fedcba9, -0xf5c28f7f0123456, 0x000000000, 0x07fffffff, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, 0x00fedcba9, true);
	testInt64BinaryR32(0x07fffffff, -0x789abcdc8fedcbab, 0x789abcdd8fedcba9, -0xf5c28f7f0123456, 0x000000000, 0x07fffffff, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, 0x00fedcba9, true);
	testInt64ShiftL6(0x000000000, 0x07fffffff, 0x07fffffff);
	testInt64ShiftR0(0x07fffffff, 0x07fffffff, 0x07fffffff);
	testInt64ShiftL6(0x000000001, 0x0fffffffe, 0x03fffffff);
	testInt64ShiftR1(0x07fffffff, 0x0fffffffe, 0x03fffffff);
	testInt64ShiftL6(0x000000002, 0x1fffffffc, 0x01fffffff);
	testInt64ShiftR2(0x07fffffff, 0x1fffffffc, 0x01fffffff);
	testInt64ShiftL6(0x000000003, 0x3fffffff8, 0x00fffffff);
	testInt64ShiftR3(0x07fffffff, 0x3fffffff8, 0x00fffffff);
	testInt64ShiftL6(0x00000000f, 0x3fffffff8000, 0x00000ffff);
	testInt64ShiftR4(0x07fffffff, 0x3fffffff8000, 0x00000ffff);
	testInt64ShiftL6(0x000000010, 0x7fffffff0000, 0x000007fff);
	testInt64ShiftR5(0x07fffffff, 0x7fffffff0000, 0x000007fff);
	testInt64ShiftL6(0x000000011, 0xfffffffe0000, 0x000003fff);
	testInt64ShiftR6(0x07fffffff, 0xfffffffe0000, 0x000003fff);
	testInt64ShiftL6(0x00000001f, 0x3fffffff80000000, 0x000000000);
	testInt64ShiftR7(0x07fffffff, 0x3fffffff80000000, 0x000000000);
	testInt64ShiftL6(0x000000020, 0x7fffffff00000000, 0x000000000);
	testInt64ShiftR8(0x07fffffff, 0x7fffffff00000000, 0x000000000);
	testInt64ShiftL6(0x000000021, -0x200000000, 0x000000000);
	testInt64ShiftR9(0x07fffffff, -0x200000000, 0x000000000);
	testInt64ShiftL6(0x00000003d, -0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x07fffffff, -0x2000000000000000, 0x000000000);
	testInt64ShiftL6(0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x07fffffff, -0x4000000000000000, 0x000000000);
	testInt64ShiftL6(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x07fffffff, -0x8000000000000000, 0x000000000);
	testInt64ShiftL6(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x07fffffff, 0x000000000, 0x000000000);
	testInt64ShiftL6(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x07fffffff, 0x000000000, 0x000000000);
}
func test62() {
	testInt64BinaryL7(0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testInt64BinaryR0(0x080000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testInt64BinaryL7(0x000000001, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testInt64BinaryR1(0x080000000, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testInt64BinaryL7(0x000000002, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testInt64BinaryR2(0x080000000, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testInt64BinaryL7(0x000000003, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testInt64BinaryR3(0x080000000, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testInt64BinaryL7(0x000000064, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testInt64BinaryR4(0x080000000, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testInt64BinaryL7(0x000002711, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testInt64BinaryR5(0x080000000, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testInt64BinaryL7(0x07fffffff, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testInt64BinaryR6(0x080000000, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testInt64BinaryL7(0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR7(0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL7(0x080000001, 0x100000001, -0x000000001, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testInt64BinaryR8(0x080000000, 0x100000001, -0x000000001, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testInt64BinaryL7(0x0c0000000, 0x140000000, -0x040000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64BinaryR9(0x080000000, 0x140000000, -0x040000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64BinaryL7(0x0ffffffff, 0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testInt64BinaryR10(0x080000000, 0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testInt64BinaryL7(0x100000000, 0x180000000, -0x080000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testInt64BinaryR11(0x080000000, 0x180000000, -0x080000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testInt64BinaryL7(0x100000001, 0x180000001, -0x080000001, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testInt64BinaryR12(0x080000000, 0x180000001, -0x080000001, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testInt64BinaryL7(0x200000000, 0x280000000, -0x180000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testInt64BinaryR13(0x080000000, 0x280000000, -0x180000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testInt64BinaryL7(0x7fffffffffffd8f0, -0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testInt64BinaryR14(0x080000000, -0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testInt64BinaryL7(0x7fffffffffffffff, -0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64BinaryR15(0x080000000, -0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64BinaryL7(0x789abcdef0123456, 0x789abcdf70123456, -0x789abcde70123456, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testInt64BinaryR16(0x080000000, 0x789abcdf70123456, -0x789abcde70123456, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testInt64BinaryL7(-0x000000001, 0x07fffffff, 0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x080000000, -0x000000001, -0x080000001, 0x000000000, true);
	testInt64BinaryR17(0x080000000, 0x07fffffff, 0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x080000000, -0x000000001, -0x080000001, 0x000000000, true);
	testInt64BinaryL7(-0x000000002, 0x07ffffffe, 0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x080000000, -0x000000002, -0x080000002, 0x000000000, true);
	testInt64BinaryR18(0x080000000, 0x07ffffffe, 0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x080000000, -0x000000002, -0x080000002, 0x000000000, true);
	testInt64BinaryL7(-0x000000003, 0x07ffffffd, 0x080000003, -0x180000000, -0x02aaaaaaa, 0x000000002, 0x080000000, -0x000000003, -0x080000003, 0x000000000, true);
	testInt64BinaryR19(0x080000000, 0x07ffffffd, 0x080000003, -0x180000000, -0x02aaaaaaa, 0x000000002, 0x080000000, -0x000000003, -0x080000003, 0x000000000, true);
	testInt64BinaryL7(-0x000000064, 0x07fffff9c, 0x080000064, -0x3200000000, -0x00147ae14, 0x000000030, 0x080000000, -0x000000064, -0x080000064, 0x000000000, true);
	testInt64BinaryR20(0x080000000, 0x07fffff9c, 0x080000064, -0x3200000000, -0x00147ae14, 0x000000030, 0x080000000, -0x000000064, -0x080000064, 0x000000000, true);
	testInt64BinaryL7(-0x000002711, 0x07fffd8ef, 0x080002711, -0x138880000000, -0x0000346c6, 0x0000022da, 0x080000000, -0x000002711, -0x080002711, 0x000000000, true);
	testInt64BinaryR21(0x080000000, 0x07fffd8ef, 0x080002711, -0x138880000000, -0x0000346c6, 0x0000022da, 0x080000000, -0x000002711, -0x080002711, 0x000000000, true);
	testInt64BinaryL7(-0x07fffffff, 0x000000001, 0x0ffffffff, -0x3fffffff80000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000000, true);
	testInt64BinaryR22(0x080000000, 0x000000001, 0x0ffffffff, -0x3fffffff80000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000000, true);
	testInt64BinaryL7(-0x080000000, 0x000000000, 0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, 0x000000000, true);
	testInt64BinaryR23(0x080000000, 0x000000000, 0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, 0x000000000, true);
	testInt64BinaryL7(-0x080000001, -0x000000001, 0x100000001, -0x4000000080000000, 0x000000000, 0x080000000, 0x000000000, -0x000000001, -0x000000001, 0x080000000, true);
	testInt64BinaryR24(0x080000000, -0x000000001, 0x100000001, -0x4000000080000000, 0x000000000, 0x080000000, 0x000000000, -0x000000001, -0x000000001, 0x080000000, true);
	testInt64BinaryL7(-0x0c0000000, -0x040000000, 0x140000000, -0x6000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x040000000, -0x040000000, 0x080000000, true);
	testInt64BinaryR25(0x080000000, -0x040000000, 0x140000000, -0x6000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x040000000, -0x040000000, 0x080000000, true);
	testInt64BinaryL7(-0x100000000, -0x080000000, 0x180000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x080000000, -0x080000000, 0x080000000, true);
	testInt64BinaryR26(0x080000000, -0x080000000, 0x180000000, -0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, -0x080000000, -0x080000000, 0x080000000, true);
	testInt64BinaryL7(-0x0ffffffff, -0x07fffffff, 0x17fffffff, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000000, true);
	testInt64BinaryR27(0x080000000, -0x07fffffff, 0x17fffffff, -0x7fffffff80000000, 0x000000000, 0x080000000, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000000, true);
	testInt64BinaryL7(-0x200000000, -0x180000000, 0x280000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x180000000, -0x180000000, 0x080000000, true);
	testInt64BinaryR28(0x080000000, -0x180000000, 0x280000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x180000000, -0x180000000, 0x080000000, true);
	testInt64BinaryL7(-0x7fffffffffffd8f0, -0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, 0x080000000, true);
	testInt64BinaryR29(0x080000000, -0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, 0x080000000, true);
	testInt64BinaryL7(-0x7fffffffffffffff, -0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000000, true);
	testInt64BinaryR30(0x080000000, -0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000000, true);
	testInt64BinaryL7(-0x8000000000000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryR31(0x080000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryL7(-0x789abcdd0fedcbaa, -0x789abcdc8fedcbaa, 0x789abcdd8fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, 0x000000000, true);
	testInt64BinaryR32(0x080000000, -0x789abcdc8fedcbaa, 0x789abcdd8fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, 0x000000000, true);
	testInt64ShiftL7(0x000000000, 0x080000000, 0x080000000);
	testInt64ShiftR0(0x080000000, 0x080000000, 0x080000000);
	testInt64ShiftL7(0x000000001, 0x100000000, 0x040000000);
	testInt64ShiftR1(0x080000000, 0x100000000, 0x040000000);
	testInt64ShiftL7(0x000000002, 0x200000000, 0x020000000);
	testInt64ShiftR2(0x080000000, 0x200000000, 0x020000000);
	testInt64ShiftL7(0x000000003, 0x400000000, 0x010000000);
	testInt64ShiftR3(0x080000000, 0x400000000, 0x010000000);
	testInt64ShiftL7(0x00000000f, 0x400000000000, 0x000010000);
	testInt64ShiftR4(0x080000000, 0x400000000000, 0x000010000);
	testInt64ShiftL7(0x000000010, 0x800000000000, 0x000008000);
	testInt64ShiftR5(0x080000000, 0x800000000000, 0x000008000);
	testInt64ShiftL7(0x000000011, 0x1000000000000, 0x000004000);
	testInt64ShiftR6(0x080000000, 0x1000000000000, 0x000004000);
	testInt64ShiftL7(0x00000001f, 0x4000000000000000, 0x000000001);
	testInt64ShiftR7(0x080000000, 0x4000000000000000, 0x000000001);
	testInt64ShiftL7(0x000000020, -0x8000000000000000, 0x000000000);
	testInt64ShiftR8(0x080000000, -0x8000000000000000, 0x000000000);
	testInt64ShiftL7(0x000000021, 0x000000000, 0x000000000);
	testInt64ShiftR9(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x00000003d, 0x000000000, 0x000000000);
	testInt64ShiftR10(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x080000000, 0x000000000, 0x000000000);
	testInt64ShiftL7(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x080000000, 0x000000000, 0x000000000);
}
func test63() {
	testInt64BinaryL8(0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testInt64BinaryR0(0x080000001, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testInt64BinaryL8(0x000000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testInt64BinaryR1(0x080000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testInt64BinaryL8(0x000000002, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testInt64BinaryR2(0x080000001, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testInt64BinaryL8(0x000000003, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testInt64BinaryR3(0x080000001, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testInt64BinaryL8(0x000000064, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testInt64BinaryR4(0x080000001, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testInt64BinaryL8(0x000002711, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testInt64BinaryR5(0x080000001, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testInt64BinaryL8(0x07fffffff, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testInt64BinaryR6(0x080000001, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testInt64BinaryL8(0x080000000, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testInt64BinaryR7(0x080000001, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testInt64BinaryL8(0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testInt64BinaryR8(0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testInt64BinaryL8(0x0c0000000, 0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testInt64BinaryR9(0x080000001, 0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testInt64BinaryL8(0x0ffffffff, 0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryR10(0x080000001, 0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryL8(0x100000000, 0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testInt64BinaryR11(0x080000001, 0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testInt64BinaryL8(0x100000001, 0x180000002, -0x080000000, -0x7ffffffe7fffffff, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testInt64BinaryR12(0x080000001, 0x180000002, -0x080000000, -0x7ffffffe7fffffff, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testInt64BinaryL8(0x200000000, 0x280000001, -0x17fffffff, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testInt64BinaryR13(0x080000001, 0x280000001, -0x17fffffff, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testInt64BinaryL8(0x7fffffffffffd8f0, -0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testInt64BinaryR14(0x080000001, -0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testInt64BinaryL8(0x7fffffffffffffff, -0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64BinaryR15(0x080000001, -0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64BinaryL8(0x789abcdef0123456, 0x789abcdf70123457, -0x789abcde70123455, -0xf5c28f60fedcbaa, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testInt64BinaryR16(0x080000001, 0x789abcdf70123457, -0x789abcde70123455, -0xf5c28f60fedcbaa, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testInt64BinaryL8(-0x000000001, 0x080000000, 0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x080000001, -0x000000001, -0x080000002, 0x000000000, true);
	testInt64BinaryR17(0x080000001, 0x080000000, 0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x080000001, -0x000000001, -0x080000002, 0x000000000, true);
	testInt64BinaryL8(-0x000000002, 0x07fffffff, 0x080000003, -0x100000002, -0x040000000, 0x000000001, 0x080000000, -0x000000001, -0x080000001, 0x000000001, true);
	testInt64BinaryR18(0x080000001, 0x07fffffff, 0x080000003, -0x100000002, -0x040000000, 0x000000001, 0x080000000, -0x000000001, -0x080000001, 0x000000001, true);
	testInt64BinaryL8(-0x000000003, 0x07ffffffe, 0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x080000001, -0x000000003, -0x080000004, 0x000000000, true);
	testInt64BinaryR19(0x080000001, 0x07ffffffe, 0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x080000001, -0x000000003, -0x080000004, 0x000000000, true);
	testInt64BinaryL8(-0x000000064, 0x07fffff9d, 0x080000065, -0x3200000064, -0x00147ae14, 0x000000031, 0x080000000, -0x000000063, -0x080000063, 0x000000001, true);
	testInt64BinaryR20(0x080000001, 0x07fffff9d, 0x080000065, -0x3200000064, -0x00147ae14, 0x000000031, 0x080000000, -0x000000063, -0x080000063, 0x000000001, true);
	testInt64BinaryL8(-0x000002711, 0x07fffd8f0, 0x080002712, -0x138880002711, -0x0000346c6, 0x0000022db, 0x080000001, -0x000002711, -0x080002712, 0x000000000, true);
	testInt64BinaryR21(0x080000001, 0x07fffd8f0, 0x080002712, -0x138880002711, -0x0000346c6, 0x0000022db, 0x080000001, -0x000002711, -0x080002712, 0x000000000, true);
	testInt64BinaryL8(-0x07fffffff, 0x000000002, 0x100000000, -0x3fffffffffffffff, -0x000000001, 0x000000002, 0x080000001, -0x07fffffff, -0x100000000, 0x000000000, true);
	testInt64BinaryR22(0x080000001, 0x000000002, 0x100000000, -0x3fffffffffffffff, -0x000000001, 0x000000002, 0x080000001, -0x07fffffff, -0x100000000, 0x000000000, true);
	testInt64BinaryL8(-0x080000000, 0x000000001, 0x100000001, -0x4000000080000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryR23(0x080000001, 0x000000001, 0x100000001, -0x4000000080000000, -0x000000001, 0x000000001, 0x080000000, -0x07fffffff, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryL8(-0x080000001, 0x000000000, 0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x080000000, true);
	testInt64BinaryR24(0x080000001, 0x000000000, 0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x080000000, true);
	testInt64BinaryL8(-0x0c0000000, -0x03fffffff, 0x140000001, -0x60000000c0000000, 0x000000000, 0x080000001, 0x000000000, -0x03fffffff, -0x03fffffff, 0x080000001, true);
	testInt64BinaryR25(0x080000001, -0x03fffffff, 0x140000001, -0x60000000c0000000, 0x000000000, 0x080000001, 0x000000000, -0x03fffffff, -0x03fffffff, 0x080000001, true);
	testInt64BinaryL8(-0x100000000, -0x07fffffff, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000001, true);
	testInt64BinaryR26(0x080000001, -0x07fffffff, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x080000001, true);
	testInt64BinaryL8(-0x0ffffffff, -0x07ffffffe, 0x180000000, 0x7fffffff80000001, 0x000000000, 0x080000001, 0x000000001, -0x07fffffff, -0x080000000, 0x080000000, true);
	testInt64BinaryR27(0x080000001, -0x07ffffffe, 0x180000000, 0x7fffffff80000001, 0x000000000, 0x080000001, 0x000000001, -0x07fffffff, -0x080000000, 0x080000000, true);
	testInt64BinaryL8(-0x200000000, -0x17fffffff, 0x280000001, -0x200000000, 0x000000000, 0x080000001, 0x000000000, -0x17fffffff, -0x17fffffff, 0x080000001, true);
	testInt64BinaryR28(0x080000001, -0x17fffffff, 0x280000001, -0x200000000, 0x000000000, 0x080000001, 0x000000000, -0x17fffffff, -0x17fffffff, 0x080000001, true);
	testInt64BinaryL8(-0x7fffffffffffd8f0, -0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, 0x080000001, true);
	testInt64BinaryR29(0x080000001, -0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, 0x080000001, true);
	testInt64BinaryL8(-0x7fffffffffffffff, -0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryR30(0x080000001, -0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryL8(-0x8000000000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000001, true);
	testInt64BinaryR31(0x080000001, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, 0x080000001, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, 0x080000001, true);
	testInt64BinaryL8(-0x789abcdd0fedcbaa, -0x789abcdc8fedcba9, 0x789abcdd8fedcbab, -0x91a2b20fedcbaa, 0x000000000, 0x080000001, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, 0x000000001, true);
	testInt64BinaryR32(0x080000001, -0x789abcdc8fedcba9, 0x789abcdd8fedcbab, -0x91a2b20fedcbaa, 0x000000000, 0x080000001, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, 0x000000001, true);
	testInt64ShiftL8(0x000000000, 0x080000001, 0x080000001);
	testInt64ShiftR0(0x080000001, 0x080000001, 0x080000001);
	testInt64ShiftL8(0x000000001, 0x100000002, 0x040000000);
	testInt64ShiftR1(0x080000001, 0x100000002, 0x040000000);
	testInt64ShiftL8(0x000000002, 0x200000004, 0x020000000);
	testInt64ShiftR2(0x080000001, 0x200000004, 0x020000000);
	testInt64ShiftL8(0x000000003, 0x400000008, 0x010000000);
	testInt64ShiftR3(0x080000001, 0x400000008, 0x010000000);
	testInt64ShiftL8(0x00000000f, 0x400000008000, 0x000010000);
	testInt64ShiftR4(0x080000001, 0x400000008000, 0x000010000);
	testInt64ShiftL8(0x000000010, 0x800000010000, 0x000008000);
	testInt64ShiftR5(0x080000001, 0x800000010000, 0x000008000);
	testInt64ShiftL8(0x000000011, 0x1000000020000, 0x000004000);
	testInt64ShiftR6(0x080000001, 0x1000000020000, 0x000004000);
	testInt64ShiftL8(0x00000001f, 0x4000000080000000, 0x000000001);
	testInt64ShiftR7(0x080000001, 0x4000000080000000, 0x000000001);
	testInt64ShiftL8(0x000000020, -0x7fffffff00000000, 0x000000000);
	testInt64ShiftR8(0x080000001, -0x7fffffff00000000, 0x000000000);
	testInt64ShiftL8(0x000000021, 0x200000000, 0x000000000);
	testInt64ShiftR9(0x080000001, 0x200000000, 0x000000000);
	testInt64ShiftL8(0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x080000001, 0x2000000000000000, 0x000000000);
	testInt64ShiftL8(0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x080000001, 0x4000000000000000, 0x000000000);
	testInt64ShiftL8(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x080000001, -0x8000000000000000, 0x000000000);
	testInt64ShiftL8(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x080000001, 0x000000000, 0x000000000);
	testInt64ShiftL8(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x080000001, 0x000000000, 0x000000000);
}
func test64() {
	testInt64BinaryL9(0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testInt64BinaryR0(0x0c0000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testInt64BinaryL9(0x000000001, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testInt64BinaryR1(0x0c0000000, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testInt64BinaryL9(0x000000002, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testInt64BinaryR2(0x0c0000000, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testInt64BinaryL9(0x000000003, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testInt64BinaryR3(0x0c0000000, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testInt64BinaryL9(0x000000064, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testInt64BinaryR4(0x0c0000000, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testInt64BinaryL9(0x000002711, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testInt64BinaryR5(0x0c0000000, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testInt64BinaryL9(0x07fffffff, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testInt64BinaryR6(0x0c0000000, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testInt64BinaryL9(0x080000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64BinaryR7(0x0c0000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64BinaryL9(0x080000001, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testInt64BinaryR8(0x0c0000000, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testInt64BinaryL9(0x0c0000000, 0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR9(0x0c0000000, 0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL9(0x0ffffffff, 0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testInt64BinaryR10(0x0c0000000, 0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testInt64BinaryL9(0x100000000, 0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testInt64BinaryR11(0x0c0000000, 0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testInt64BinaryL9(0x100000001, 0x1c0000001, -0x040000001, -0x3fffffff40000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testInt64BinaryR12(0x0c0000000, 0x1c0000001, -0x040000001, -0x3fffffff40000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testInt64BinaryL9(0x200000000, 0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testInt64BinaryR13(0x0c0000000, 0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testInt64BinaryL9(0x7fffffffffffd8f0, -0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testInt64BinaryR14(0x0c0000000, -0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testInt64BinaryL9(0x7fffffffffffffff, -0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testInt64BinaryR15(0x0c0000000, -0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testInt64BinaryL9(0x789abcdef0123456, 0x789abcdfb0123456, -0x789abcde30123456, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testInt64BinaryR16(0x0c0000000, 0x789abcdfb0123456, -0x789abcde30123456, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testInt64BinaryL9(-0x000000001, 0x0bfffffff, 0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x0c0000000, -0x000000001, -0x0c0000001, 0x000000000, true);
	testInt64BinaryR17(0x0c0000000, 0x0bfffffff, 0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x0c0000000, -0x000000001, -0x0c0000001, 0x000000000, true);
	testInt64BinaryL9(-0x000000002, 0x0bffffffe, 0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x0c0000000, -0x000000002, -0x0c0000002, 0x000000000, true);
	testInt64BinaryR18(0x0c0000000, 0x0bffffffe, 0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x0c0000000, -0x000000002, -0x0c0000002, 0x000000000, true);
	testInt64BinaryL9(-0x000000003, 0x0bffffffd, 0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x0c0000000, -0x000000003, -0x0c0000003, 0x000000000, true);
	testInt64BinaryR19(0x0c0000000, 0x0bffffffd, 0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x0c0000000, -0x000000003, -0x0c0000003, 0x000000000, true);
	testInt64BinaryL9(-0x000000064, 0x0bfffff9c, 0x0c0000064, -0x4b00000000, -0x001eb851e, 0x000000048, 0x0c0000000, -0x000000064, -0x0c0000064, 0x000000000, true);
	testInt64BinaryR20(0x0c0000000, 0x0bfffff9c, 0x0c0000064, -0x4b00000000, -0x001eb851e, 0x000000048, 0x0c0000000, -0x000000064, -0x0c0000064, 0x000000000, true);
	testInt64BinaryL9(-0x000002711, 0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, 0x000000d36, 0x0c0000000, -0x000002711, -0x0c0002711, 0x000000000, true);
	testInt64BinaryR21(0x0c0000000, 0x0bfffd8ef, 0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, 0x000000d36, 0x0c0000000, -0x000002711, -0x0c0002711, 0x000000000, true);
	testInt64BinaryL9(-0x07fffffff, 0x040000001, 0x13fffffff, -0x5fffffff40000000, -0x000000001, 0x040000001, 0x080000000, -0x03fffffff, -0x0bfffffff, 0x040000000, true);
	testInt64BinaryR22(0x0c0000000, 0x040000001, 0x13fffffff, -0x5fffffff40000000, -0x000000001, 0x040000001, 0x080000000, -0x03fffffff, -0x0bfffffff, 0x040000000, true);
	testInt64BinaryL9(-0x080000000, 0x040000000, 0x140000000, -0x6000000000000000, -0x000000001, 0x040000000, 0x080000000, -0x040000000, -0x0c0000000, 0x040000000, true);
	testInt64BinaryR23(0x0c0000000, 0x040000000, 0x140000000, -0x6000000000000000, -0x000000001, 0x040000000, 0x080000000, -0x040000000, -0x0c0000000, 0x040000000, true);
	testInt64BinaryL9(-0x080000001, 0x03fffffff, 0x140000001, -0x60000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x080000000, true);
	testInt64BinaryR24(0x0c0000000, 0x03fffffff, 0x140000001, -0x60000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x080000000, true);
	testInt64BinaryL9(-0x0c0000000, 0x000000000, 0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, 0x080000000, true);
	testInt64BinaryR25(0x0c0000000, 0x000000000, 0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, 0x080000000, true);
	testInt64BinaryL9(-0x100000000, -0x040000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x040000000, -0x040000000, 0x0c0000000, true);
	testInt64BinaryR26(0x0c0000000, -0x040000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x040000000, -0x040000000, 0x0c0000000, true);
	testInt64BinaryL9(-0x0ffffffff, -0x03fffffff, 0x1bfffffff, 0x40000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x03fffffff, -0x03fffffff, 0x0c0000000, true);
	testInt64BinaryR27(0x0c0000000, -0x03fffffff, 0x1bfffffff, 0x40000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x03fffffff, -0x03fffffff, 0x0c0000000, true);
	testInt64BinaryL9(-0x200000000, -0x140000000, 0x2c0000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x140000000, -0x140000000, 0x0c0000000, true);
	testInt64BinaryR28(0x0c0000000, -0x140000000, 0x2c0000000, -0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x140000000, -0x140000000, 0x0c0000000, true);
	testInt64BinaryL9(-0x7fffffffffffd8f0, -0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, 0x0c0000000, true);
	testInt64BinaryR29(0x0c0000000, -0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, 0x0c0000000, true);
	testInt64BinaryL9(-0x7fffffffffffffff, -0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, 0x0c0000000, true);
	testInt64BinaryR30(0x0c0000000, -0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, 0x0c0000000, true);
	testInt64BinaryL9(-0x8000000000000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x0c0000000, true);
	testInt64BinaryR31(0x0c0000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, 0x0c0000000, true);
	testInt64BinaryL9(-0x789abcdd0fedcbaa, -0x789abcdc4fedcbaa, 0x789abcddcfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, 0x000000000, true);
	testInt64BinaryR32(0x0c0000000, -0x789abcdc4fedcbaa, 0x789abcddcfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, 0x000000000, true);
	testInt64ShiftL9(0x000000000, 0x0c0000000, 0x0c0000000);
	testInt64ShiftR0(0x0c0000000, 0x0c0000000, 0x0c0000000);
	testInt64ShiftL9(0x000000001, 0x180000000, 0x060000000);
	testInt64ShiftR1(0x0c0000000, 0x180000000, 0x060000000);
	testInt64ShiftL9(0x000000002, 0x300000000, 0x030000000);
	testInt64ShiftR2(0x0c0000000, 0x300000000, 0x030000000);
	testInt64ShiftL9(0x000000003, 0x600000000, 0x018000000);
	testInt64ShiftR3(0x0c0000000, 0x600000000, 0x018000000);
	testInt64ShiftL9(0x00000000f, 0x600000000000, 0x000018000);
	testInt64ShiftR4(0x0c0000000, 0x600000000000, 0x000018000);
	testInt64ShiftL9(0x000000010, 0xc00000000000, 0x00000c000);
	testInt64ShiftR5(0x0c0000000, 0xc00000000000, 0x00000c000);
	testInt64ShiftL9(0x000000011, 0x1800000000000, 0x000006000);
	testInt64ShiftR6(0x0c0000000, 0x1800000000000, 0x000006000);
	testInt64ShiftL9(0x00000001f, 0x6000000000000000, 0x000000001);
	testInt64ShiftR7(0x0c0000000, 0x6000000000000000, 0x000000001);
	testInt64ShiftL9(0x000000020, -0x4000000000000000, 0x000000000);
	testInt64ShiftR8(0x0c0000000, -0x4000000000000000, 0x000000000);
	testInt64ShiftL9(0x000000021, -0x8000000000000000, 0x000000000);
	testInt64ShiftR9(0x0c0000000, -0x8000000000000000, 0x000000000);
	testInt64ShiftL9(0x00000003d, 0x000000000, 0x000000000);
	testInt64ShiftR10(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x0c0000000, 0x000000000, 0x000000000);
	testInt64ShiftL9(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x0c0000000, 0x000000000, 0x000000000);
}
func test65() {
	testInt64BinaryL10(0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testInt64BinaryR0(0x0ffffffff, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testInt64BinaryL10(0x000000001, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryR1(0x0ffffffff, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryL10(0x000000002, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testInt64BinaryR2(0x0ffffffff, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testInt64BinaryL10(0x000000003, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testInt64BinaryR3(0x0ffffffff, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testInt64BinaryL10(0x000000064, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testInt64BinaryR4(0x0ffffffff, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testInt64BinaryL10(0x000002711, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64BinaryR5(0x0ffffffff, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64BinaryL10(0x07fffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testInt64BinaryR6(0x0ffffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testInt64BinaryL10(0x080000000, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryR7(0x0ffffffff, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryL10(0x080000001, 0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryR8(0x0ffffffff, 0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryL10(0x0c0000000, 0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testInt64BinaryR9(0x0ffffffff, 0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testInt64BinaryL10(0x0ffffffff, 0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR10(0x0ffffffff, 0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL10(0x100000000, 0x1ffffffff, -0x000000001, -0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testInt64BinaryR11(0x0ffffffff, 0x1ffffffff, -0x000000001, -0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testInt64BinaryL10(0x100000001, 0x200000000, -0x000000002, -0x000000001, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testInt64BinaryR12(0x0ffffffff, 0x200000000, -0x000000002, -0x000000001, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testInt64BinaryL10(0x200000000, 0x2ffffffff, -0x100000001, -0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testInt64BinaryR13(0x0ffffffff, 0x2ffffffff, -0x100000001, -0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testInt64BinaryL10(0x7fffffffffffd8f0, -0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testInt64BinaryR14(0x0ffffffff, -0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testInt64BinaryL10(0x7fffffffffffffff, -0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryR15(0x0ffffffff, -0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryL10(0x789abcdef0123456, 0x789abcdff0123455, -0x789abcddf0123457, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testInt64BinaryR16(0x0ffffffff, 0x789abcdff0123455, -0x789abcddf0123457, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testInt64BinaryL10(-0x000000001, 0x0fffffffe, 0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x0ffffffff, -0x000000001, -0x100000000, 0x000000000, true);
	testInt64BinaryR17(0x0ffffffff, 0x0fffffffe, 0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x0ffffffff, -0x000000001, -0x100000000, 0x000000000, true);
	testInt64BinaryL10(-0x000000002, 0x0fffffffd, 0x100000001, -0x1fffffffe, -0x07fffffff, 0x000000001, 0x0fffffffe, -0x000000001, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryR18(0x0ffffffff, 0x0fffffffd, 0x100000001, -0x1fffffffe, -0x07fffffff, 0x000000001, 0x0fffffffe, -0x000000001, -0x0ffffffff, 0x000000001, true);
	testInt64BinaryL10(-0x000000003, 0x0fffffffc, 0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x0fffffffd, -0x000000001, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryR19(0x0ffffffff, 0x0fffffffc, 0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x0fffffffd, -0x000000001, -0x0fffffffe, 0x000000002, true);
	testInt64BinaryL10(-0x000000064, 0x0ffffff9b, 0x100000063, -0x63ffffff9c, -0x0028f5c28, 0x00000005f, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, 0x000000063, true);
	testInt64BinaryR20(0x0ffffffff, 0x0ffffff9b, 0x100000063, -0x63ffffff9c, -0x0028f5c28, 0x00000005f, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, 0x000000063, true);
	testInt64BinaryL10(-0x000002711, 0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, -0x000068d8d, 0x000001ea2, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, 0x000002710, true);
	testInt64BinaryR21(0x0ffffffff, 0x0ffffd8ee, 0x100002710, -0x2710ffffd8ef, -0x000068d8d, 0x000001ea2, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, 0x000002710, true);
	testInt64BinaryL10(-0x07fffffff, 0x080000000, 0x17ffffffe, -0x7ffffffe80000001, -0x000000002, 0x000000001, 0x080000001, -0x000000001, -0x080000002, 0x07ffffffe, true);
	testInt64BinaryR22(0x0ffffffff, 0x080000000, 0x17ffffffe, -0x7ffffffe80000001, -0x000000002, 0x000000001, 0x080000001, -0x000000001, -0x080000002, 0x07ffffffe, true);
	testInt64BinaryL10(-0x080000000, 0x07fffffff, 0x17fffffff, -0x7fffffff80000000, -0x000000001, 0x07fffffff, 0x080000000, -0x000000001, -0x080000001, 0x07fffffff, true);
	testInt64BinaryR23(0x0ffffffff, 0x07fffffff, 0x17fffffff, -0x7fffffff80000000, -0x000000001, 0x07fffffff, 0x080000000, -0x000000001, -0x080000001, 0x07fffffff, true);
	testInt64BinaryL10(-0x080000001, 0x07ffffffe, 0x180000000, 0x7fffffff80000001, -0x000000001, 0x07ffffffe, 0x07fffffff, -0x000000001, -0x080000000, 0x080000000, true);
	testInt64BinaryR24(0x0ffffffff, 0x07ffffffe, 0x180000000, 0x7fffffff80000001, -0x000000001, 0x07ffffffe, 0x07fffffff, -0x000000001, -0x080000000, 0x080000000, true);
	testInt64BinaryL10(-0x0c0000000, 0x03fffffff, 0x1bfffffff, 0x40000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x0bfffffff, true);
	testInt64BinaryR25(0x0ffffffff, 0x03fffffff, 0x1bfffffff, 0x40000000c0000000, -0x000000001, 0x03fffffff, 0x040000000, -0x000000001, -0x040000001, 0x0bfffffff, true);
	testInt64BinaryL10(-0x100000000, -0x000000001, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x000000001, -0x000000001, 0x0ffffffff, true);
	testInt64BinaryR26(0x0ffffffff, -0x000000001, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x000000001, -0x000000001, 0x0ffffffff, true);
	testInt64BinaryL10(-0x0ffffffff, 0x000000000, 0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x0fffffffe, true);
	testInt64BinaryR27(0x0ffffffff, 0x000000000, 0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x0fffffffe, true);
	testInt64BinaryL10(-0x200000000, -0x100000001, 0x2ffffffff, 0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x100000001, -0x100000001, 0x0ffffffff, true);
	testInt64BinaryR28(0x0ffffffff, -0x100000001, 0x2ffffffff, 0x200000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x100000001, -0x100000001, 0x0ffffffff, true);
	testInt64BinaryL10(-0x7fffffffffffd8f0, -0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, 0x0ffffd8ef, true);
	testInt64BinaryR29(0x0ffffffff, -0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, 0x0ffffd8ef, true);
	testInt64BinaryL10(-0x7fffffffffffffff, -0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64BinaryR30(0x0ffffffff, -0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64BinaryL10(-0x8000000000000000, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64BinaryR31(0x0ffffffff, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64BinaryL10(-0x789abcdd0fedcbaa, -0x789abcdc0fedcbab, 0x789abcde0fedcba9, 0x68acf1330fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, 0x00fedcba9, true);
	testInt64BinaryR32(0x0ffffffff, -0x789abcdc0fedcbab, 0x789abcde0fedcba9, 0x68acf1330fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, 0x00fedcba9, true);
	testInt64ShiftL10(0x000000000, 0x0ffffffff, 0x0ffffffff);
	testInt64ShiftR0(0x0ffffffff, 0x0ffffffff, 0x0ffffffff);
	testInt64ShiftL10(0x000000001, 0x1fffffffe, 0x07fffffff);
	testInt64ShiftR1(0x0ffffffff, 0x1fffffffe, 0x07fffffff);
	testInt64ShiftL10(0x000000002, 0x3fffffffc, 0x03fffffff);
	testInt64ShiftR2(0x0ffffffff, 0x3fffffffc, 0x03fffffff);
	testInt64ShiftL10(0x000000003, 0x7fffffff8, 0x01fffffff);
	testInt64ShiftR3(0x0ffffffff, 0x7fffffff8, 0x01fffffff);
	testInt64ShiftL10(0x00000000f, 0x7fffffff8000, 0x00001ffff);
	testInt64ShiftR4(0x0ffffffff, 0x7fffffff8000, 0x00001ffff);
	testInt64ShiftL10(0x000000010, 0xffffffff0000, 0x00000ffff);
	testInt64ShiftR5(0x0ffffffff, 0xffffffff0000, 0x00000ffff);
	testInt64ShiftL10(0x000000011, 0x1fffffffe0000, 0x000007fff);
	testInt64ShiftR6(0x0ffffffff, 0x1fffffffe0000, 0x000007fff);
	testInt64ShiftL10(0x00000001f, 0x7fffffff80000000, 0x000000001);
	testInt64ShiftR7(0x0ffffffff, 0x7fffffff80000000, 0x000000001);
	testInt64ShiftL10(0x000000020, -0x100000000, 0x000000000);
	testInt64ShiftR8(0x0ffffffff, -0x100000000, 0x000000000);
	testInt64ShiftL10(0x000000021, -0x200000000, 0x000000000);
	testInt64ShiftR9(0x0ffffffff, -0x200000000, 0x000000000);
	testInt64ShiftL10(0x00000003d, -0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x0ffffffff, -0x2000000000000000, 0x000000000);
	testInt64ShiftL10(0x00000003e, -0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x0ffffffff, -0x4000000000000000, 0x000000000);
	testInt64ShiftL10(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x0ffffffff, -0x8000000000000000, 0x000000000);
	testInt64ShiftL10(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL10(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x0ffffffff, 0x000000000, 0x000000000);
}
func test66() {
	testInt64BinaryL11(0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testInt64BinaryR0(0x100000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testInt64BinaryL11(0x000000001, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testInt64BinaryR1(0x100000000, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testInt64BinaryL11(0x000000002, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testInt64BinaryR2(0x100000000, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testInt64BinaryL11(0x000000003, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testInt64BinaryR3(0x100000000, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testInt64BinaryL11(0x000000064, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testInt64BinaryR4(0x100000000, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testInt64BinaryL11(0x000002711, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testInt64BinaryR5(0x100000000, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testInt64BinaryL11(0x07fffffff, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testInt64BinaryR6(0x100000000, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testInt64BinaryL11(0x080000000, 0x180000000, 0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testInt64BinaryR7(0x100000000, 0x180000000, 0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testInt64BinaryL11(0x080000001, 0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testInt64BinaryR8(0x100000000, 0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testInt64BinaryL11(0x0c0000000, 0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testInt64BinaryR9(0x100000000, 0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testInt64BinaryL11(0x0ffffffff, 0x1ffffffff, 0x000000001, -0x100000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testInt64BinaryR10(0x100000000, 0x1ffffffff, 0x000000001, -0x100000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testInt64BinaryL11(0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR11(0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL11(0x100000001, 0x200000001, -0x000000001, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testInt64BinaryR12(0x100000000, 0x200000001, -0x000000001, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testInt64BinaryL11(0x200000000, 0x300000000, -0x100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testInt64BinaryR13(0x100000000, 0x300000000, -0x100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testInt64BinaryL11(0x7fffffffffffd8f0, -0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testInt64BinaryR14(0x100000000, -0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testInt64BinaryL11(0x7fffffffffffffff, -0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testInt64BinaryR15(0x100000000, -0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testInt64BinaryL11(0x789abcdef0123456, 0x789abcdff0123456, -0x789abcddf0123456, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testInt64BinaryR16(0x100000000, 0x789abcdff0123456, -0x789abcddf0123456, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testInt64BinaryL11(-0x000000001, 0x0ffffffff, 0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x100000000, -0x000000001, -0x100000001, 0x000000000, true);
	testInt64BinaryR17(0x100000000, 0x0ffffffff, 0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x100000000, -0x000000001, -0x100000001, 0x000000000, true);
	testInt64BinaryL11(-0x000000002, 0x0fffffffe, 0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x100000000, -0x000000002, -0x100000002, 0x000000000, true);
	testInt64BinaryR18(0x100000000, 0x0fffffffe, 0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x100000000, -0x000000002, -0x100000002, 0x000000000, true);
	testInt64BinaryL11(-0x000000003, 0x0fffffffd, 0x100000003, -0x300000000, -0x055555555, 0x000000001, 0x100000000, -0x000000003, -0x100000003, 0x000000000, true);
	testInt64BinaryR19(0x100000000, 0x0fffffffd, 0x100000003, -0x300000000, -0x055555555, 0x000000001, 0x100000000, -0x000000003, -0x100000003, 0x000000000, true);
	testInt64BinaryL11(-0x000000064, 0x0ffffff9c, 0x100000064, -0x6400000000, -0x0028f5c28, 0x000000060, 0x100000000, -0x000000064, -0x100000064, 0x000000000, true);
	testInt64BinaryR20(0x100000000, 0x0ffffff9c, 0x100000064, -0x6400000000, -0x0028f5c28, 0x000000060, 0x100000000, -0x000000064, -0x100000064, 0x000000000, true);
	testInt64BinaryL11(-0x000002711, 0x0ffffd8ef, 0x100002711, -0x271100000000, -0x000068d8d, 0x000001ea3, 0x100000000, -0x000002711, -0x100002711, 0x000000000, true);
	testInt64BinaryR21(0x100000000, 0x0ffffd8ef, 0x100002711, -0x271100000000, -0x000068d8d, 0x000001ea3, 0x100000000, -0x000002711, -0x100002711, 0x000000000, true);
	testInt64BinaryL11(-0x07fffffff, 0x080000001, 0x17fffffff, -0x7fffffff00000000, -0x000000002, 0x000000002, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000000, true);
	testInt64BinaryR22(0x100000000, 0x080000001, 0x17fffffff, -0x7fffffff00000000, -0x000000002, 0x000000002, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000000, true);
	testInt64BinaryL11(-0x080000000, 0x080000000, 0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x100000000, -0x080000000, -0x180000000, 0x000000000, true);
	testInt64BinaryR23(0x100000000, 0x080000000, 0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x100000000, -0x080000000, -0x180000000, 0x000000000, true);
	testInt64BinaryL11(-0x080000001, 0x07fffffff, 0x180000001, 0x7fffffff00000000, -0x000000001, 0x07fffffff, 0x100000000, -0x080000001, -0x180000001, 0x000000000, true);
	testInt64BinaryR24(0x100000000, 0x07fffffff, 0x180000001, 0x7fffffff00000000, -0x000000001, 0x07fffffff, 0x100000000, -0x080000001, -0x180000001, 0x000000000, true);
	testInt64BinaryL11(-0x0c0000000, 0x040000000, 0x1c0000000, 0x4000000000000000, -0x000000001, 0x040000000, 0x100000000, -0x0c0000000, -0x1c0000000, 0x000000000, true);
	testInt64BinaryR25(0x100000000, 0x040000000, 0x1c0000000, 0x4000000000000000, -0x000000001, 0x040000000, 0x100000000, -0x0c0000000, -0x1c0000000, 0x000000000, true);
	testInt64BinaryL11(-0x100000000, 0x000000000, 0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, 0x000000000, true);
	testInt64BinaryR26(0x100000000, 0x000000000, 0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, 0x000000000, true);
	testInt64BinaryL11(-0x0ffffffff, 0x000000001, 0x1ffffffff, 0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000000, true);
	testInt64BinaryR27(0x100000000, 0x000000001, 0x1ffffffff, 0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000000, true);
	testInt64BinaryL11(-0x200000000, -0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x100000000, -0x100000000, 0x100000000, true);
	testInt64BinaryR28(0x100000000, -0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x100000000, -0x100000000, 0x100000000, true);
	testInt64BinaryL11(-0x7fffffffffffd8f0, -0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, 0x100000000, true);
	testInt64BinaryR29(0x100000000, -0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, 0x100000000, true);
	testInt64BinaryL11(-0x7fffffffffffffff, -0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000000, true);
	testInt64BinaryR30(0x100000000, -0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, 0x000000000, 0x100000000, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000000, true);
	testInt64BinaryL11(-0x8000000000000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x100000000, true);
	testInt64BinaryR31(0x100000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, 0x100000000, true);
	testInt64BinaryL11(-0x789abcdd0fedcbaa, -0x789abcdc0fedcbaa, 0x789abcde0fedcbaa, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, 0x100000000, true);
	testInt64BinaryR32(0x100000000, -0x789abcdc0fedcbaa, 0x789abcde0fedcbaa, -0xfedcbaa00000000, 0x000000000, 0x100000000, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, 0x100000000, true);
	testInt64ShiftL11(0x000000000, 0x100000000, 0x100000000);
	testInt64ShiftR0(0x100000000, 0x100000000, 0x100000000);
	testInt64ShiftL11(0x000000001, 0x200000000, 0x080000000);
	testInt64ShiftR1(0x100000000, 0x200000000, 0x080000000);
	testInt64ShiftL11(0x000000002, 0x400000000, 0x040000000);
	testInt64ShiftR2(0x100000000, 0x400000000, 0x040000000);
	testInt64ShiftL11(0x000000003, 0x800000000, 0x020000000);
	testInt64ShiftR3(0x100000000, 0x800000000, 0x020000000);
	testInt64ShiftL11(0x00000000f, 0x800000000000, 0x000020000);
	testInt64ShiftR4(0x100000000, 0x800000000000, 0x000020000);
	testInt64ShiftL11(0x000000010, 0x1000000000000, 0x000010000);
	testInt64ShiftR5(0x100000000, 0x1000000000000, 0x000010000);
	testInt64ShiftL11(0x000000011, 0x2000000000000, 0x000008000);
	testInt64ShiftR6(0x100000000, 0x2000000000000, 0x000008000);
	testInt64ShiftL11(0x00000001f, -0x8000000000000000, 0x000000002);
	testInt64ShiftR7(0x100000000, -0x8000000000000000, 0x000000002);
	testInt64ShiftL11(0x000000020, 0x000000000, 0x000000001);
	testInt64ShiftR8(0x100000000, 0x000000000, 0x000000001);
	testInt64ShiftL11(0x000000021, 0x000000000, 0x000000000);
	testInt64ShiftR9(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x00000003d, 0x000000000, 0x000000000);
	testInt64ShiftR10(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftL11(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x100000000, 0x000000000, 0x000000000);
}
func test67() {
	testInt64BinaryL12(0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testInt64BinaryR0(0x100000001, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testInt64BinaryL12(0x000000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testInt64BinaryR1(0x100000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testInt64BinaryL12(0x000000002, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testInt64BinaryR2(0x100000001, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testInt64BinaryL12(0x000000003, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testInt64BinaryR3(0x100000001, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testInt64BinaryL12(0x000000064, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testInt64BinaryR4(0x100000001, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testInt64BinaryL12(0x000002711, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testInt64BinaryR5(0x100000001, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testInt64BinaryL12(0x07fffffff, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testInt64BinaryR6(0x100000001, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testInt64BinaryL12(0x080000000, 0x180000001, 0x080000001, -0x7fffffff80000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testInt64BinaryR7(0x100000001, 0x180000001, 0x080000001, -0x7fffffff80000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testInt64BinaryL12(0x080000001, 0x180000002, 0x080000000, -0x7ffffffe7fffffff, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testInt64BinaryR8(0x100000001, 0x180000002, 0x080000000, -0x7ffffffe7fffffff, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testInt64BinaryL12(0x0c0000000, 0x1c0000001, 0x040000001, -0x3fffffff40000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testInt64BinaryR9(0x100000001, 0x1c0000001, 0x040000001, -0x3fffffff40000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testInt64BinaryL12(0x0ffffffff, 0x200000000, 0x000000002, -0x000000001, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testInt64BinaryR10(0x100000001, 0x200000000, 0x000000002, -0x000000001, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testInt64BinaryL12(0x100000000, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testInt64BinaryR11(0x100000001, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testInt64BinaryL12(0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testInt64BinaryR12(0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testInt64BinaryL12(0x200000000, 0x300000001, -0x0ffffffff, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testInt64BinaryR13(0x100000001, 0x300000001, -0x0ffffffff, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testInt64BinaryL12(0x7fffffffffffd8f0, -0x7fffffff0000270f, -0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testInt64BinaryR14(0x100000001, -0x7fffffff0000270f, -0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testInt64BinaryL12(0x7fffffffffffffff, -0x7fffffff00000000, -0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testInt64BinaryR15(0x100000001, -0x7fffffff00000000, -0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testInt64BinaryL12(0x789abcdef0123456, 0x789abcdff0123457, -0x789abcddf0123455, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testInt64BinaryR16(0x100000001, 0x789abcdff0123457, -0x789abcddf0123455, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testInt64BinaryL12(-0x000000001, 0x100000000, 0x100000002, -0x100000001, -0x100000001, 0x000000000, 0x100000001, -0x000000001, -0x100000002, 0x000000000, true);
	testInt64BinaryR17(0x100000001, 0x100000000, 0x100000002, -0x100000001, -0x100000001, 0x000000000, 0x100000001, -0x000000001, -0x100000002, 0x000000000, true);
	testInt64BinaryL12(-0x000000002, 0x0ffffffff, 0x100000003, -0x200000002, -0x080000000, 0x000000001, 0x100000000, -0x000000001, -0x100000001, 0x000000001, true);
	testInt64BinaryR18(0x100000001, 0x0ffffffff, 0x100000003, -0x200000002, -0x080000000, 0x000000001, 0x100000000, -0x000000001, -0x100000001, 0x000000001, true);
	testInt64BinaryL12(-0x000000003, 0x0fffffffe, 0x100000004, -0x300000003, -0x055555555, 0x000000002, 0x100000001, -0x000000003, -0x100000004, 0x000000000, true);
	testInt64BinaryR19(0x100000001, 0x0fffffffe, 0x100000004, -0x300000003, -0x055555555, 0x000000002, 0x100000001, -0x000000003, -0x100000004, 0x000000000, true);
	testInt64BinaryL12(-0x000000064, 0x0ffffff9d, 0x100000065, -0x6400000064, -0x0028f5c28, 0x000000061, 0x100000000, -0x000000063, -0x100000063, 0x000000001, true);
	testInt64BinaryR20(0x100000001, 0x0ffffff9d, 0x100000065, -0x6400000064, -0x0028f5c28, 0x000000061, 0x100000000, -0x000000063, -0x100000063, 0x000000001, true);
	testInt64BinaryL12(-0x000002711, 0x0ffffd8f0, 0x100002712, -0x271100002711, -0x000068d8d, 0x000001ea4, 0x100000001, -0x000002711, -0x100002712, 0x000000000, true);
	testInt64BinaryR21(0x100000001, 0x0ffffd8f0, 0x100002712, -0x271100002711, -0x000068d8d, 0x000001ea4, 0x100000001, -0x000002711, -0x100002712, 0x000000000, true);
	testInt64BinaryL12(-0x07fffffff, 0x080000002, 0x180000000, -0x7fffffff7fffffff, -0x000000002, 0x000000003, 0x100000001, -0x07fffffff, -0x180000000, 0x000000000, true);
	testInt64BinaryR22(0x100000001, 0x080000002, 0x180000000, -0x7fffffff7fffffff, -0x000000002, 0x000000003, 0x100000001, -0x07fffffff, -0x180000000, 0x000000000, true);
	testInt64BinaryL12(-0x080000000, 0x080000001, 0x180000001, 0x7fffffff80000000, -0x000000002, 0x000000001, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000001, true);
	testInt64BinaryR23(0x100000001, 0x080000001, 0x180000001, 0x7fffffff80000000, -0x000000002, 0x000000001, 0x100000000, -0x07fffffff, -0x17fffffff, 0x000000001, true);
	testInt64BinaryL12(-0x080000001, 0x080000000, 0x180000002, 0x7ffffffe7fffffff, -0x000000001, 0x080000000, 0x100000001, -0x080000001, -0x180000002, 0x000000000, true);
	testInt64BinaryR24(0x100000001, 0x080000000, 0x180000002, 0x7ffffffe7fffffff, -0x000000001, 0x080000000, 0x100000001, -0x080000001, -0x180000002, 0x000000000, true);
	testInt64BinaryL12(-0x0c0000000, 0x040000001, 0x1c0000001, 0x3fffffff40000000, -0x000000001, 0x040000001, 0x100000000, -0x0bfffffff, -0x1bfffffff, 0x000000001, true);
	testInt64BinaryR25(0x100000001, 0x040000001, 0x1c0000001, 0x3fffffff40000000, -0x000000001, 0x040000001, 0x100000000, -0x0bfffffff, -0x1bfffffff, 0x000000001, true);
	testInt64BinaryL12(-0x100000000, 0x000000001, 0x200000001, -0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64BinaryR26(0x100000001, 0x000000001, 0x200000001, -0x100000000, -0x000000001, 0x000000001, 0x100000000, -0x0ffffffff, -0x1ffffffff, 0x000000001, true);
	testInt64BinaryL12(-0x0ffffffff, 0x000000002, 0x200000000, 0x000000001, -0x000000001, 0x000000002, 0x100000001, -0x0ffffffff, -0x200000000, 0x000000000, true);
	testInt64BinaryR27(0x100000001, 0x000000002, 0x200000000, 0x000000001, -0x000000001, 0x000000002, 0x100000001, -0x0ffffffff, -0x200000000, 0x000000000, true);
	testInt64BinaryL12(-0x200000000, -0x0ffffffff, 0x300000001, -0x200000000, 0x000000000, 0x100000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x100000001, true);
	testInt64BinaryR28(0x100000001, -0x0ffffffff, 0x300000001, -0x200000000, 0x000000000, 0x100000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x100000001, true);
	testInt64BinaryL12(-0x7fffffffffffd8f0, -0x7ffffffeffffd8ef, -0x7fffffff0000270f, -0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, 0x100000001, true);
	testInt64BinaryR29(0x100000001, -0x7ffffffeffffd8ef, -0x7fffffff0000270f, -0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, 0x100000001, true);
	testInt64BinaryL12(-0x7fffffffffffffff, -0x7ffffffefffffffe, -0x7fffffff00000000, -0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, 0x100000000, true);
	testInt64BinaryR30(0x100000001, -0x7ffffffefffffffe, -0x7fffffff00000000, -0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, 0x100000000, true);
	testInt64BinaryL12(-0x8000000000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000001, true);
	testInt64BinaryR31(0x100000001, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, 0x000000000, 0x100000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, 0x100000001, true);
	testInt64BinaryL12(-0x789abcdd0fedcbaa, -0x789abcdc0fedcba9, 0x789abcde0fedcbab, 0x77777778f0123456, 0x000000000, 0x100000001, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, 0x100000001, true);
	testInt64BinaryR32(0x100000001, -0x789abcdc0fedcba9, 0x789abcde0fedcbab, 0x77777778f0123456, 0x000000000, 0x100000001, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, 0x100000001, true);
	testInt64ShiftL12(0x000000000, 0x100000001, 0x100000001);
	testInt64ShiftR0(0x100000001, 0x100000001, 0x100000001);
	testInt64ShiftL12(0x000000001, 0x200000002, 0x080000000);
	testInt64ShiftR1(0x100000001, 0x200000002, 0x080000000);
	testInt64ShiftL12(0x000000002, 0x400000004, 0x040000000);
	testInt64ShiftR2(0x100000001, 0x400000004, 0x040000000);
	testInt64ShiftL12(0x000000003, 0x800000008, 0x020000000);
	testInt64ShiftR3(0x100000001, 0x800000008, 0x020000000);
	testInt64ShiftL12(0x00000000f, 0x800000008000, 0x000020000);
	testInt64ShiftR4(0x100000001, 0x800000008000, 0x000020000);
	testInt64ShiftL12(0x000000010, 0x1000000010000, 0x000010000);
	testInt64ShiftR5(0x100000001, 0x1000000010000, 0x000010000);
	testInt64ShiftL12(0x000000011, 0x2000000020000, 0x000008000);
	testInt64ShiftR6(0x100000001, 0x2000000020000, 0x000008000);
	testInt64ShiftL12(0x00000001f, -0x7fffffff80000000, 0x000000002);
	testInt64ShiftR7(0x100000001, -0x7fffffff80000000, 0x000000002);
	testInt64ShiftL12(0x000000020, 0x100000000, 0x000000001);
	testInt64ShiftR8(0x100000001, 0x100000000, 0x000000001);
	testInt64ShiftL12(0x000000021, 0x200000000, 0x000000000);
	testInt64ShiftR9(0x100000001, 0x200000000, 0x000000000);
	testInt64ShiftL12(0x00000003d, 0x2000000000000000, 0x000000000);
	testInt64ShiftR10(0x100000001, 0x2000000000000000, 0x000000000);
	testInt64ShiftL12(0x00000003e, 0x4000000000000000, 0x000000000);
	testInt64ShiftR11(0x100000001, 0x4000000000000000, 0x000000000);
	testInt64ShiftL12(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x100000001, -0x8000000000000000, 0x000000000);
	testInt64ShiftL12(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftL12(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x100000001, 0x000000000, 0x000000000);
}
func test68() {
	testInt64BinaryL13(0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testInt64BinaryR0(0x200000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testInt64BinaryL13(0x000000001, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testInt64BinaryR1(0x200000000, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testInt64BinaryL13(0x000000002, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testInt64BinaryR2(0x200000000, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testInt64BinaryL13(0x000000003, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testInt64BinaryR3(0x200000000, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testInt64BinaryL13(0x000000064, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testInt64BinaryR4(0x200000000, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testInt64BinaryL13(0x000002711, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testInt64BinaryR5(0x200000000, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testInt64BinaryL13(0x07fffffff, 0x27fffffff, 0x180000001, -0x200000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testInt64BinaryR6(0x200000000, 0x27fffffff, 0x180000001, -0x200000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testInt64BinaryL13(0x080000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testInt64BinaryR7(0x200000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testInt64BinaryL13(0x080000001, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testInt64BinaryR8(0x200000000, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testInt64BinaryL13(0x0c0000000, 0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testInt64BinaryR9(0x200000000, 0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testInt64BinaryL13(0x0ffffffff, 0x2ffffffff, 0x100000001, -0x200000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testInt64BinaryR10(0x200000000, 0x2ffffffff, 0x100000001, -0x200000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testInt64BinaryL13(0x100000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testInt64BinaryR11(0x200000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testInt64BinaryL13(0x100000001, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testInt64BinaryR12(0x200000000, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testInt64BinaryL13(0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR13(0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL13(0x7fffffffffffd8f0, -0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testInt64BinaryR14(0x200000000, -0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testInt64BinaryL13(0x7fffffffffffffff, -0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testInt64BinaryR15(0x200000000, -0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testInt64BinaryL13(0x789abcdef0123456, 0x789abce0f0123456, -0x789abcdcf0123456, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testInt64BinaryR16(0x200000000, 0x789abce0f0123456, -0x789abcdcf0123456, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testInt64BinaryL13(-0x000000001, 0x1ffffffff, 0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x200000000, -0x000000001, -0x200000001, 0x000000000, true);
	testInt64BinaryR17(0x200000000, 0x1ffffffff, 0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x200000000, -0x000000001, -0x200000001, 0x000000000, true);
	testInt64BinaryL13(-0x000000002, 0x1fffffffe, 0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x200000000, -0x000000002, -0x200000002, 0x000000000, true);
	testInt64BinaryR18(0x200000000, 0x1fffffffe, 0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x200000000, -0x000000002, -0x200000002, 0x000000000, true);
	testInt64BinaryL13(-0x000000003, 0x1fffffffd, 0x200000003, -0x600000000, -0x0aaaaaaaa, 0x000000002, 0x200000000, -0x000000003, -0x200000003, 0x000000000, true);
	testInt64BinaryR19(0x200000000, 0x1fffffffd, 0x200000003, -0x600000000, -0x0aaaaaaaa, 0x000000002, 0x200000000, -0x000000003, -0x200000003, 0x000000000, true);
	testInt64BinaryL13(-0x000000064, 0x1ffffff9c, 0x200000064, -0xc800000000, -0x0051eb851, 0x00000005c, 0x200000000, -0x000000064, -0x200000064, 0x000000000, true);
	testInt64BinaryR20(0x200000000, 0x1ffffff9c, 0x200000064, -0xc800000000, -0x0051eb851, 0x00000005c, 0x200000000, -0x000000064, -0x200000064, 0x000000000, true);
	testInt64BinaryL13(-0x000002711, 0x1ffffd8ef, 0x200002711, -0x4e2200000000, -0x0000d1b1b, 0x000001635, 0x200000000, -0x000002711, -0x200002711, 0x000000000, true);
	testInt64BinaryR21(0x200000000, 0x1ffffd8ef, 0x200002711, -0x4e2200000000, -0x0000d1b1b, 0x000001635, 0x200000000, -0x000002711, -0x200002711, 0x000000000, true);
	testInt64BinaryL13(-0x07fffffff, 0x180000001, 0x27fffffff, 0x200000000, -0x000000004, 0x000000004, 0x200000000, -0x07fffffff, -0x27fffffff, 0x000000000, true);
	testInt64BinaryR22(0x200000000, 0x180000001, 0x27fffffff, 0x200000000, -0x000000004, 0x000000004, 0x200000000, -0x07fffffff, -0x27fffffff, 0x000000000, true);
	testInt64BinaryL13(-0x080000000, 0x180000000, 0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x200000000, -0x080000000, -0x280000000, 0x000000000, true);
	testInt64BinaryR23(0x200000000, 0x180000000, 0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x200000000, -0x080000000, -0x280000000, 0x000000000, true);
	testInt64BinaryL13(-0x080000001, 0x17fffffff, 0x280000001, -0x200000000, -0x000000003, 0x07ffffffd, 0x200000000, -0x080000001, -0x280000001, 0x000000000, true);
	testInt64BinaryR24(0x200000000, 0x17fffffff, 0x280000001, -0x200000000, -0x000000003, 0x07ffffffd, 0x200000000, -0x080000001, -0x280000001, 0x000000000, true);
	testInt64BinaryL13(-0x0c0000000, 0x140000000, 0x2c0000000, -0x8000000000000000, -0x000000002, 0x080000000, 0x200000000, -0x0c0000000, -0x2c0000000, 0x000000000, true);
	testInt64BinaryR25(0x200000000, 0x140000000, 0x2c0000000, -0x8000000000000000, -0x000000002, 0x080000000, 0x200000000, -0x0c0000000, -0x2c0000000, 0x000000000, true);
	testInt64BinaryL13(-0x100000000, 0x100000000, 0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x200000000, -0x100000000, -0x300000000, 0x000000000, true);
	testInt64BinaryR26(0x200000000, 0x100000000, 0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x200000000, -0x100000000, -0x300000000, 0x000000000, true);
	testInt64BinaryL13(-0x0ffffffff, 0x100000001, 0x2ffffffff, 0x200000000, -0x000000002, 0x000000002, 0x200000000, -0x0ffffffff, -0x2ffffffff, 0x000000000, true);
	testInt64BinaryR27(0x200000000, 0x100000001, 0x2ffffffff, 0x200000000, -0x000000002, 0x000000002, 0x200000000, -0x0ffffffff, -0x2ffffffff, 0x000000000, true);
	testInt64BinaryL13(-0x200000000, 0x000000000, 0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, 0x000000000, true);
	testInt64BinaryR28(0x200000000, 0x000000000, 0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, 0x000000000, true);
	testInt64BinaryL13(-0x7fffffffffffd8f0, -0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, 0x200000000, true);
	testInt64BinaryR29(0x200000000, -0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, 0x200000000, true);
	testInt64BinaryL13(-0x7fffffffffffffff, -0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, 0x200000000, true);
	testInt64BinaryR30(0x200000000, -0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, 0x200000000, true);
	testInt64BinaryL13(-0x8000000000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x200000000, true);
	testInt64BinaryR31(0x200000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, 0x200000000, true);
	testInt64BinaryL13(-0x789abcdd0fedcbaa, -0x789abcdb0fedcbaa, 0x789abcdf0fedcbaa, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, 0x000000000, true);
	testInt64BinaryR32(0x200000000, -0x789abcdb0fedcbaa, 0x789abcdf0fedcbaa, -0x1fdb975400000000, 0x000000000, 0x200000000, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, 0x000000000, true);
	testInt64ShiftL13(0x000000000, 0x200000000, 0x200000000);
	testInt64ShiftR0(0x200000000, 0x200000000, 0x200000000);
	testInt64ShiftL13(0x000000001, 0x400000000, 0x100000000);
	testInt64ShiftR1(0x200000000, 0x400000000, 0x100000000);
	testInt64ShiftL13(0x000000002, 0x800000000, 0x080000000);
	testInt64ShiftR2(0x200000000, 0x800000000, 0x080000000);
	testInt64ShiftL13(0x000000003, 0x1000000000, 0x040000000);
	testInt64ShiftR3(0x200000000, 0x1000000000, 0x040000000);
	testInt64ShiftL13(0x00000000f, 0x1000000000000, 0x000040000);
	testInt64ShiftR4(0x200000000, 0x1000000000000, 0x000040000);
	testInt64ShiftL13(0x000000010, 0x2000000000000, 0x000020000);
	testInt64ShiftR5(0x200000000, 0x2000000000000, 0x000020000);
	testInt64ShiftL13(0x000000011, 0x4000000000000, 0x000010000);
	testInt64ShiftR6(0x200000000, 0x4000000000000, 0x000010000);
	testInt64ShiftL13(0x00000001f, 0x000000000, 0x000000004);
	testInt64ShiftR7(0x200000000, 0x000000000, 0x000000004);
	testInt64ShiftL13(0x000000020, 0x000000000, 0x000000002);
	testInt64ShiftR8(0x200000000, 0x000000000, 0x000000002);
	testInt64ShiftL13(0x000000021, 0x000000000, 0x000000001);
	testInt64ShiftR9(0x200000000, 0x000000000, 0x000000001);
	testInt64ShiftL13(0x00000003d, 0x000000000, 0x000000000);
	testInt64ShiftR10(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x00000003e, 0x000000000, 0x000000000);
	testInt64ShiftR11(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x200000000, 0x000000000, 0x000000000);
	testInt64ShiftL13(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x200000000, 0x000000000, 0x000000000);
}
func test69() {
	testInt64BinaryL14(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testInt64BinaryR0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testInt64BinaryL14(0x000000001, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testInt64BinaryR1(0x7fffffffffffd8f0, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testInt64BinaryL14(0x000000002, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testInt64BinaryR2(0x7fffffffffffd8f0, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testInt64BinaryL14(0x000000003, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testInt64BinaryR3(0x7fffffffffffd8f0, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testInt64BinaryL14(0x000000064, 0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testInt64BinaryR4(0x7fffffffffffd8f0, 0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testInt64BinaryL14(0x000002711, -0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testInt64BinaryR5(0x7fffffffffffd8f0, -0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testInt64BinaryL14(0x07fffffff, -0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testInt64BinaryR6(0x7fffffffffffd8f0, -0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testInt64BinaryL14(0x080000000, -0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testInt64BinaryR7(0x7fffffffffffd8f0, -0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testInt64BinaryL14(0x080000001, -0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testInt64BinaryR8(0x7fffffffffffd8f0, -0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testInt64BinaryL14(0x0c0000000, -0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testInt64BinaryR9(0x7fffffffffffd8f0, -0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testInt64BinaryL14(0x0ffffffff, -0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testInt64BinaryR10(0x7fffffffffffd8f0, -0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testInt64BinaryL14(0x100000000, -0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testInt64BinaryR11(0x7fffffffffffd8f0, -0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testInt64BinaryL14(0x100000001, -0x7fffffff0000270f, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testInt64BinaryR12(0x7fffffffffffd8f0, -0x7fffffff0000270f, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testInt64BinaryL14(0x200000000, -0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testInt64BinaryR13(0x7fffffffffffd8f0, -0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testInt64BinaryL14(0x7fffffffffffd8f0, -0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64BinaryR14(0x7fffffffffffd8f0, -0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64BinaryL14(0x7fffffffffffffff, -0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testInt64BinaryR15(0x7fffffffffffd8f0, -0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testInt64BinaryL14(0x789abcdef0123456, -0x76543210fedf2ba, 0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testInt64BinaryR16(0x7fffffffffffd8f0, -0x76543210fedf2ba, 0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testInt64BinaryL14(-0x000000001, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, 0x000000000, true);
	testInt64BinaryR17(0x7fffffffffffd8f0, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, 0x000000000, true);
	testInt64BinaryL14(-0x000000002, 0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, 0x000000000, true);
	testInt64BinaryR18(0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, 0x000000000, true);
	testInt64BinaryL14(-0x000000003, 0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, 0x000000001, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, 0x000000000, true);
	testInt64BinaryR19(0x7fffffffffffd8f0, 0x7fffffffffffd8ed, 0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, 0x000000001, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, 0x000000000, true);
	testInt64BinaryL14(-0x000000064, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, 0x000000008, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, 0x000000060, true);
	testInt64BinaryR20(0x7fffffffffffd8f0, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, 0x000000008, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, 0x000000060, true);
	testInt64BinaryL14(-0x000002711, 0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, 0x00000203b, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, 0x000000010, true);
	testInt64BinaryR21(0x7fffffffffffd8f0, 0x7fffffffffffb1df, -0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, 0x00000203b, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, 0x000000010, true);
	testInt64BinaryL14(-0x07fffffff, 0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, 0x07fffd8f1, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, 0x07fffd8f0, true);
	testInt64BinaryR22(0x7fffffffffffd8f0, 0x7fffffff7fffd8f1, -0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, 0x07fffd8f1, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, 0x07fffd8f0, true);
	testInt64BinaryL14(-0x080000000, 0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, -0x0ffffffff, 0x07fffd8f0, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, 0x07fffd8f0, true);
	testInt64BinaryR23(0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, -0x7fffffff80002710, 0x138800000000, -0x0ffffffff, 0x07fffd8f0, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, 0x07fffd8f0, true);
	testInt64BinaryL14(-0x080000001, 0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, 0x07fffd8f3, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, 0x080000000, true);
	testInt64BinaryR24(0x7fffffffffffd8f0, 0x7fffffff7fffd8ef, -0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, 0x07fffd8f3, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, 0x080000000, true);
	testInt64BinaryL14(-0x0c0000000, 0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, 0x07fffd8f0, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, 0x0bfffd8f0, true);
	testInt64BinaryR25(0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, -0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, 0x07fffd8f0, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, 0x0bfffd8f0, true);
	testInt64BinaryL14(-0x100000000, 0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, -0x07fffffff, 0x0ffffd8f0, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, 0x0ffffd8f0, true);
	testInt64BinaryR26(0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, -0x7fffffff00002710, 0x271000000000, -0x07fffffff, 0x0ffffd8f0, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, 0x0ffffd8f0, true);
	testInt64BinaryL14(-0x0ffffffff, 0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, 0x07fffd8f0, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, 0x0ffffd8f0, true);
	testInt64BinaryR27(0x7fffffffffffd8f0, 0x7ffffffeffffd8f1, -0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, 0x07fffd8f0, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, 0x0ffffd8f0, true);
	testInt64BinaryL14(-0x200000000, 0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, 0x1ffffd8f0, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, 0x1ffffd8f0, true);
	testInt64BinaryR28(0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, -0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, 0x1ffffd8f0, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, 0x1ffffd8f0, true);
	testInt64BinaryL14(-0x7fffffffffffd8f0, 0x000000000, -0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, 0x7fffffffffffd8e0, true);
	testInt64BinaryR29(0x7fffffffffffd8f0, 0x000000000, -0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, 0x7fffffffffffd8e0, true);
	testInt64BinaryL14(-0x7fffffffffffffff, -0x00000270f, -0x000002711, 0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x00000270f, -0x00000270f, 0x7fffffffffffd8f0, true);
	testInt64BinaryR30(0x7fffffffffffd8f0, -0x00000270f, -0x000002711, 0x7fffffffffffd8f0, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x00000270f, -0x00000270f, 0x7fffffffffffd8f0, true);
	testInt64BinaryL14(-0x8000000000000000, -0x000002710, -0x000002710, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x000002710, -0x000002710, 0x7fffffffffffd8f0, true);
	testInt64BinaryR31(0x7fffffffffffd8f0, -0x000002710, -0x000002710, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x000000000, -0x000002710, -0x000002710, 0x7fffffffffffd8f0, true);
	testInt64BinaryL14(-0x789abcdd0fedcbaa, 0x7654322f0120d46, -0x7654322f0125b66, 0x1c717b3e38e3a0a0, -0x000000001, 0x7654322f0120d46, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, 0x789abcdd0fedc8a0, true);
	testInt64BinaryR32(0x7fffffffffffd8f0, 0x7654322f0120d46, -0x7654322f0125b66, 0x1c717b3e38e3a0a0, -0x000000001, 0x7654322f0120d46, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, 0x789abcdd0fedc8a0, true);
	testInt64ShiftL14(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testInt64ShiftR0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testInt64ShiftL14(0x000000001, -0x000004e20, 0x3fffffffffffec78);
	testInt64ShiftR1(0x7fffffffffffd8f0, -0x000004e20, 0x3fffffffffffec78);
	testInt64ShiftL14(0x000000002, -0x000009c40, 0x1ffffffffffff63c);
	testInt64ShiftR2(0x7fffffffffffd8f0, -0x000009c40, 0x1ffffffffffff63c);
	testInt64ShiftL14(0x000000003, -0x000013880, 0xffffffffffffb1e);
	testInt64ShiftR3(0x7fffffffffffd8f0, -0x000013880, 0xffffffffffffb1e);
	testInt64ShiftL14(0x00000000f, -0x013880000, 0xffffffffffff);
	testInt64ShiftR4(0x7fffffffffffd8f0, -0x013880000, 0xffffffffffff);
	testInt64ShiftL14(0x000000010, -0x027100000, 0x7fffffffffff);
	testInt64ShiftR5(0x7fffffffffffd8f0, -0x027100000, 0x7fffffffffff);
	testInt64ShiftL14(0x000000011, -0x04e200000, 0x3fffffffffff);
	testInt64ShiftR6(0x7fffffffffffd8f0, -0x04e200000, 0x3fffffffffff);
	testInt64ShiftL14(0x00000001f, -0x138800000000, 0x0ffffffff);
	testInt64ShiftR7(0x7fffffffffffd8f0, -0x138800000000, 0x0ffffffff);
	testInt64ShiftL14(0x000000020, -0x271000000000, 0x07fffffff);
	testInt64ShiftR8(0x7fffffffffffd8f0, -0x271000000000, 0x07fffffff);
	testInt64ShiftL14(0x000000021, -0x4e2000000000, 0x03fffffff);
	testInt64ShiftR9(0x7fffffffffffd8f0, -0x4e2000000000, 0x03fffffff);
	testInt64ShiftL14(0x00000003d, 0x000000000, 0x000000003);
	testInt64ShiftR10(0x7fffffffffffd8f0, 0x000000000, 0x000000003);
	testInt64ShiftL14(0x00000003e, 0x000000000, 0x000000001);
	testInt64ShiftR11(0x7fffffffffffd8f0, 0x000000000, 0x000000001);
	testInt64ShiftL14(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testInt64ShiftL14(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
}
func test70() {
	testInt64BinaryL15(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testInt64BinaryR0(0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testInt64BinaryL15(0x000000001, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryR1(0x7fffffffffffffff, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryL15(0x000000002, -0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64BinaryR2(0x7fffffffffffffff, -0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64BinaryL15(0x000000003, -0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64BinaryR3(0x7fffffffffffffff, -0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64BinaryL15(0x000000064, -0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testInt64BinaryR4(0x7fffffffffffffff, -0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testInt64BinaryL15(0x000002711, -0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryR5(0x7fffffffffffffff, -0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryL15(0x07fffffff, -0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryR6(0x7fffffffffffffff, -0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryL15(0x080000000, -0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64BinaryR7(0x7fffffffffffffff, -0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64BinaryL15(0x080000001, -0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64BinaryR8(0x7fffffffffffffff, -0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64BinaryL15(0x0c0000000, -0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testInt64BinaryR9(0x7fffffffffffffff, -0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testInt64BinaryL15(0x0ffffffff, -0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryR10(0x7fffffffffffffff, -0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryL15(0x100000000, -0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testInt64BinaryR11(0x7fffffffffffffff, -0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testInt64BinaryL15(0x100000001, -0x7fffffff00000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testInt64BinaryR12(0x7fffffffffffffff, -0x7fffffff00000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testInt64BinaryL15(0x200000000, -0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testInt64BinaryR13(0x7fffffffffffffff, -0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testInt64BinaryL15(0x7fffffffffffd8f0, -0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testInt64BinaryR14(0x7fffffffffffffff, -0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testInt64BinaryL15(0x7fffffffffffffff, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR15(0x7fffffffffffffff, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL15(0x789abcdef0123456, -0x76543210fedcbab, 0x76543210fedcba9, -0x789abcdef0123456, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testInt64BinaryR16(0x7fffffffffffffff, -0x76543210fedcbab, 0x76543210fedcba9, -0x789abcdef0123456, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testInt64BinaryL15(-0x000000001, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryR17(0x7fffffffffffffff, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, 0x000000000, true);
	testInt64BinaryL15(-0x000000002, 0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, 0x000000001, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryR18(0x7fffffffffffffff, 0x7ffffffffffffffd, -0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, 0x000000001, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryL15(-0x000000003, 0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, 0x000000001, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryR19(0x7fffffffffffffff, 0x7ffffffffffffffc, -0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, 0x000000001, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, 0x000000002, true);
	testInt64BinaryL15(-0x000000064, 0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, 0x000000007, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, 0x000000063, true);
	testInt64BinaryR20(0x7fffffffffffffff, 0x7fffffffffffff9b, -0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, 0x000000007, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, 0x000000063, true);
	testInt64BinaryL15(-0x000002711, 0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, 0x000002039, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64BinaryR21(0x7fffffffffffffff, 0x7fffffffffffd8ee, -0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, 0x000002039, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, 0x000002710, true);
	testInt64BinaryL15(-0x07fffffff, 0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, 0x000000001, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64BinaryR22(0x7fffffffffffffff, 0x7fffffff80000000, -0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, 0x000000001, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, 0x07ffffffe, true);
	testInt64BinaryL15(-0x080000000, 0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, -0x0ffffffff, 0x07fffffff, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64BinaryR23(0x7fffffffffffffff, 0x7fffffff7fffffff, -0x7fffffff80000001, 0x080000000, -0x0ffffffff, 0x07fffffff, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, 0x07fffffff, true);
	testInt64BinaryL15(-0x080000001, 0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, 0x000000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryR24(0x7fffffffffffffff, 0x7fffffff7ffffffe, -0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, 0x000000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, 0x080000000, true);
	testInt64BinaryL15(-0x0c0000000, 0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, 0x07fffffff, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, 0x0bfffffff, true);
	testInt64BinaryR25(0x7fffffffffffffff, 0x7fffffff3fffffff, -0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, 0x07fffffff, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, 0x0bfffffff, true);
	testInt64BinaryL15(-0x100000000, 0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, -0x07fffffff, 0x0ffffffff, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64BinaryR26(0x7fffffffffffffff, 0x7ffffffeffffffff, -0x7fffffff00000001, 0x100000000, -0x07fffffff, 0x0ffffffff, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, 0x0ffffffff, true);
	testInt64BinaryL15(-0x0ffffffff, 0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, 0x07fffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64BinaryR27(0x7fffffffffffffff, 0x7fffffff00000000, -0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, 0x07fffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, 0x0fffffffe, true);
	testInt64BinaryL15(-0x200000000, 0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, -0x03fffffff, 0x1ffffffff, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, 0x1ffffffff, true);
	testInt64BinaryR28(0x7fffffffffffffff, 0x7ffffffdffffffff, -0x7ffffffe00000001, 0x200000000, -0x03fffffff, 0x1ffffffff, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, 0x1ffffffff, true);
	testInt64BinaryL15(-0x7fffffffffffd8f0, 0x00000270f, -0x000002711, 0x7fffffffffffd8f0, -0x000000001, 0x00000270f, 0x000002710, -0x000000001, -0x000002711, 0x7fffffffffffd8ef, true);
	testInt64BinaryR29(0x7fffffffffffffff, 0x00000270f, -0x000002711, 0x7fffffffffffd8f0, -0x000000001, 0x00000270f, 0x000002710, -0x000000001, -0x000002711, 0x7fffffffffffd8ef, true);
	testInt64BinaryL15(-0x7fffffffffffffff, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x7ffffffffffffffe, true);
	testInt64BinaryR30(0x7fffffffffffffff, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, 0x7ffffffffffffffe, true);
	testInt64BinaryL15(-0x8000000000000000, -0x000000001, -0x000000001, -0x8000000000000000, 0x000000000, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x000000001, 0x7fffffffffffffff, true);
	testInt64BinaryR31(0x7fffffffffffffff, -0x000000001, -0x000000001, -0x8000000000000000, 0x000000000, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x000000001, 0x7fffffffffffffff, true);
	testInt64BinaryL15(-0x789abcdd0fedcbaa, 0x7654322f0123455, -0x7654322f0123457, 0x789abcdd0fedcbaa, -0x000000001, 0x7654322f0123455, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, 0x789abcdd0fedcba9, true);
	testInt64BinaryR32(0x7fffffffffffffff, 0x7654322f0123455, -0x7654322f0123457, 0x789abcdd0fedcbaa, -0x000000001, 0x7654322f0123455, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, 0x789abcdd0fedcba9, true);
	testInt64ShiftL15(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testInt64ShiftR0(0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testInt64ShiftL15(0x000000001, -0x000000002, 0x3fffffffffffffff);
	testInt64ShiftR1(0x7fffffffffffffff, -0x000000002, 0x3fffffffffffffff);
	testInt64ShiftL15(0x000000002, -0x000000004, 0x1fffffffffffffff);
	testInt64ShiftR2(0x7fffffffffffffff, -0x000000004, 0x1fffffffffffffff);
	testInt64ShiftL15(0x000000003, -0x000000008, 0xfffffffffffffff);
	testInt64ShiftR3(0x7fffffffffffffff, -0x000000008, 0xfffffffffffffff);
	testInt64ShiftL15(0x00000000f, -0x000008000, 0xffffffffffff);
	testInt64ShiftR4(0x7fffffffffffffff, -0x000008000, 0xffffffffffff);
	testInt64ShiftL15(0x000000010, -0x000010000, 0x7fffffffffff);
	testInt64ShiftR5(0x7fffffffffffffff, -0x000010000, 0x7fffffffffff);
	testInt64ShiftL15(0x000000011, -0x000020000, 0x3fffffffffff);
	testInt64ShiftR6(0x7fffffffffffffff, -0x000020000, 0x3fffffffffff);
	testInt64ShiftL15(0x00000001f, -0x080000000, 0x0ffffffff);
	testInt64ShiftR7(0x7fffffffffffffff, -0x080000000, 0x0ffffffff);
	testInt64ShiftL15(0x000000020, -0x100000000, 0x07fffffff);
	testInt64ShiftR8(0x7fffffffffffffff, -0x100000000, 0x07fffffff);
	testInt64ShiftL15(0x000000021, -0x200000000, 0x03fffffff);
	testInt64ShiftR9(0x7fffffffffffffff, -0x200000000, 0x03fffffff);
	testInt64ShiftL15(0x00000003d, -0x2000000000000000, 0x000000003);
	testInt64ShiftR10(0x7fffffffffffffff, -0x2000000000000000, 0x000000003);
	testInt64ShiftL15(0x00000003e, -0x4000000000000000, 0x000000001);
	testInt64ShiftR11(0x7fffffffffffffff, -0x4000000000000000, 0x000000001);
	testInt64ShiftL15(0x00000003f, -0x8000000000000000, 0x000000000);
	testInt64ShiftR12(0x7fffffffffffffff, -0x8000000000000000, 0x000000000);
	testInt64ShiftL15(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftL15(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x7fffffffffffffff, 0x000000000, 0x000000000);
}
func test71() {
	testInt64BinaryL16(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testInt64BinaryR0(0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testInt64BinaryL16(0x000000001, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testInt64BinaryR1(0x789abcdef0123456, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testInt64BinaryL16(0x000000002, 0x789abcdef0123458, 0x789abcdef0123454, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testInt64BinaryR2(0x789abcdef0123456, 0x789abcdef0123458, 0x789abcdef0123454, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testInt64BinaryL16(0x000000003, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testInt64BinaryR3(0x789abcdef0123456, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testInt64BinaryL16(0x000000064, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testInt64BinaryR4(0x789abcdef0123456, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testInt64BinaryL16(0x000002711, 0x789abcdef0125b67, 0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testInt64BinaryR5(0x789abcdef0123456, 0x789abcdef0125b67, 0x789abcdef0120d45, -0x6af37e9f48d16c4a, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testInt64BinaryL16(0x07fffffff, 0x789abcdf70123455, 0x789abcde70123457, -0x91a2b3f0123456, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testInt64BinaryR6(0x789abcdef0123456, 0x789abcdf70123455, 0x789abcde70123457, -0x91a2b3f0123456, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testInt64BinaryL16(0x080000000, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testInt64BinaryR7(0x789abcdef0123456, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testInt64BinaryL16(0x080000001, 0x789abcdf70123457, 0x789abcde70123455, -0xf5c28f60fedcbaa, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testInt64BinaryR8(0x789abcdef0123456, 0x789abcdf70123457, 0x789abcde70123455, -0xf5c28f60fedcbaa, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testInt64BinaryL16(0x0c0000000, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testInt64BinaryR9(0x789abcdef0123456, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testInt64BinaryL16(0x0ffffffff, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testInt64BinaryR10(0x789abcdef0123456, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testInt64BinaryL16(0x100000000, 0x789abcdff0123456, 0x789abcddf0123456, -0xfedcbaa00000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testInt64BinaryR11(0x789abcdef0123456, 0x789abcdff0123456, 0x789abcddf0123456, -0xfedcbaa00000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testInt64BinaryL16(0x100000001, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testInt64BinaryR12(0x789abcdef0123456, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testInt64BinaryL16(0x200000000, 0x789abce0f0123456, 0x789abcdcf0123456, -0x1fdb975400000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testInt64BinaryR13(0x789abcdef0123456, 0x789abce0f0123456, 0x789abcdcf0123456, -0x1fdb975400000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testInt64BinaryL16(0x7fffffffffffd8f0, -0x76543210fedf2ba, -0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testInt64BinaryR14(0x789abcdef0123456, -0x76543210fedf2ba, -0x76543210feda49a, -0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testInt64BinaryL16(0x7fffffffffffffff, -0x76543210fedcbab, -0x76543210fedcba9, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testInt64BinaryR15(0x789abcdef0123456, -0x76543210fedcbab, -0x76543210fedcba9, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testInt64BinaryL16(0x789abcdef0123456, -0xeca86421fdb9754, 0x000000000, -0x6af4c76b5934f31c, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testInt64BinaryR16(0x789abcdef0123456, -0xeca86421fdb9754, 0x000000000, -0x6af4c76b5934f31c, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testInt64BinaryL16(-0x000000001, 0x789abcdef0123455, 0x789abcdef0123457, -0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, 0x000000000, true);
	testInt64BinaryR17(0x789abcdef0123456, 0x789abcdef0123455, 0x789abcdef0123457, -0x789abcdef0123456, -0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, 0x000000000, true);
	testInt64BinaryL16(-0x000000002, 0x789abcdef0123454, 0x789abcdef0123458, 0xeca86421fdb9754, -0x3c4d5e6f78091a2b, 0x000000000, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, 0x000000000, true);
	testInt64BinaryR18(0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123458, 0xeca86421fdb9754, -0x3c4d5e6f78091a2b, 0x000000000, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, 0x000000000, true);
	testInt64BinaryL16(-0x000000003, 0x789abcdef0123453, 0x789abcdef0123459, -0x69d0369cd0369d02, -0x2833944a50061172, 0x000000000, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, 0x000000002, true);
	testInt64BinaryR19(0x789abcdef0123456, 0x789abcdef0123453, 0x789abcdef0123459, -0x69d0369cd0369d02, -0x2833944a50061172, 0x000000000, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, 0x000000002, true);
	testInt64BinaryL16(-0x000000064, 0x789abcdef01233f2, 0x789abcdef01234ba, -0x1c71c715c71c7198, -0x134bf54263d9f3e, 0x00000001e, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, 0x000000042, true);
	testInt64BinaryR20(0x789abcdef0123456, 0x789abcdef01233f2, 0x789abcdef01234ba, -0x1c71c715c71c7198, -0x134bf54263d9f3e, 0x00000001e, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, 0x000000042, true);
	testInt64BinaryL16(-0x000002711, 0x789abcdef0120d45, 0x789abcdef0125b67, 0x6af37e9f48d16c4a, -0x31650730f1426, 0x0000013d0, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, 0x000002410, true);
	testInt64BinaryR21(0x789abcdef0123456, 0x789abcdef0120d45, 0x789abcdef0125b67, 0x6af37e9f48d16c4a, -0x31650730f1426, 0x0000013d0, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, 0x000002410, true);
	testInt64BinaryL16(-0x07fffffff, 0x789abcde70123457, 0x789abcdf70123455, 0x91a2b3f0123456, -0x0f13579bf, 0x06147ae15, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, 0x070123456, true);
	testInt64BinaryR22(0x789abcdef0123456, 0x789abcde70123457, 0x789abcdf70123455, 0x91a2b3f0123456, -0x0f13579bf, 0x06147ae15, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, 0x070123456, true);
	testInt64BinaryL16(-0x080000000, 0x789abcde70123456, 0x789abcdf70123456, -0x78091a2b00000000, -0x0f13579bd, 0x070123456, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, 0x070123456, true);
	testInt64BinaryR23(0x789abcdef0123456, 0x789abcde70123456, 0x789abcdf70123456, -0x78091a2b00000000, -0x0f13579bd, 0x070123456, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, 0x070123456, true);
	testInt64BinaryL16(-0x080000001, 0x789abcde70123455, 0x789abcdf70123457, 0xf5c28f60fedcbaa, -0x0f13579bb, 0x07edcba9b, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, 0x080000000, true);
	testInt64BinaryR24(0x789abcdef0123456, 0x789abcde70123455, 0x789abcdf70123457, 0xf5c28f60fedcbaa, -0x0f13579bb, 0x07edcba9b, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, 0x080000000, true);
	testInt64BinaryL16(-0x0c0000000, 0x789abcde30123456, 0x789abcdfb0123456, -0x340da74080000000, -0x0a0ce5129, 0x030123456, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, 0x0b0123456, true);
	testInt64BinaryR25(0x789abcdef0123456, 0x789abcde30123456, 0x789abcdfb0123456, -0x340da74080000000, -0x0a0ce5129, 0x030123456, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, 0x0b0123456, true);
	testInt64BinaryL16(-0x100000000, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, -0x0789abcde, 0x0f0123456, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, 0x0f0123456, true);
	testInt64BinaryR26(0x789abcdef0123456, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, -0x0789abcde, 0x0f0123456, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, 0x0f0123456, true);
	testInt64BinaryL16(-0x0ffffffff, 0x789abcddf0123457, 0x789abcdff0123455, -0x777777770fedcbaa, -0x0789abcdf, 0x068acf135, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, 0x0f0123456, true);
	testInt64BinaryR27(0x789abcdef0123456, 0x789abcddf0123457, 0x789abcdff0123455, -0x777777770fedcbaa, -0x0789abcdf, 0x068acf135, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, 0x0f0123456, true);
	testInt64BinaryL16(-0x200000000, 0x789abcdcf0123456, 0x789abce0f0123456, 0x1fdb975400000000, -0x03c4d5e6f, 0x0f0123456, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, 0x0f0123456, true);
	testInt64BinaryR28(0x789abcdef0123456, 0x789abcdcf0123456, 0x789abce0f0123456, 0x1fdb975400000000, -0x03c4d5e6f, 0x0f0123456, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, 0x0f0123456, true);
	testInt64BinaryL16(-0x7fffffffffffd8f0, -0x76543210feda49a, -0x76543210fedf2ba, 0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, 0x789abcdef0121046, true);
	testInt64BinaryR29(0x789abcdef0123456, -0x76543210feda49a, -0x76543210fedf2ba, 0x1c71c481c71c5f60, 0x000000000, 0x789abcdef0123456, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, 0x789abcdef0121046, true);
	testInt64BinaryL16(-0x7fffffffffffffff, -0x76543210fedcba9, -0x76543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, 0x789abcdef0123456, true);
	testInt64BinaryR30(0x789abcdef0123456, -0x76543210fedcba9, -0x76543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, 0x789abcdef0123456, true);
	testInt64BinaryL16(-0x8000000000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x789abcdef0123456, true);
	testInt64BinaryR31(0x789abcdef0123456, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, 0x789abcdef0123456, true);
	testInt64BinaryL16(-0x789abcdd0fedcbaa, 0x1e02468ac, -0xeca864400000000, -0x1edddc935934f31c, -0x000000001, 0x1e02468ac, 0x2f0123456, -0x10fedcbaa, -0x400000000, 0x789abcdc00000000, true);
	testInt64BinaryR32(0x789abcdef0123456, 0x1e02468ac, -0xeca864400000000, -0x1edddc935934f31c, -0x000000001, 0x1e02468ac, 0x2f0123456, -0x10fedcbaa, -0x400000000, 0x789abcdc00000000, true);
	testInt64ShiftL16(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456);
	testInt64ShiftR0(0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456);
	testInt64ShiftL16(0x000000001, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b);
	testInt64ShiftR1(0x789abcdef0123456, -0xeca86421fdb9754, 0x3c4d5e6f78091a2b);
	testInt64ShiftL16(0x000000002, -0x1d950c843fb72ea8, 0x1e26af37bc048d15);
	testInt64ShiftR2(0x789abcdef0123456, -0x1d950c843fb72ea8, 0x1e26af37bc048d15);
	testInt64ShiftL16(0x000000003, -0x3b2a19087f6e5d50, 0xf13579bde02468a);
	testInt64ShiftR3(0x789abcdef0123456, -0x3b2a19087f6e5d50, 0xf13579bde02468a);
	testInt64ShiftL16(0x00000000f, 0x5e6f78091a2b0000, 0xf13579bde024);
	testInt64ShiftR4(0x789abcdef0123456, 0x5e6f78091a2b0000, 0xf13579bde024);
	testInt64ShiftL16(0x000000010, -0x43210fedcbaa0000, 0x789abcdef012);
	testInt64ShiftR5(0x789abcdef0123456, -0x43210fedcbaa0000, 0x789abcdef012);
	testInt64ShiftL16(0x000000011, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testInt64ShiftR6(0x789abcdef0123456, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testInt64ShiftL16(0x00000001f, 0x78091a2b00000000, 0x0f13579bd);
	testInt64ShiftR7(0x789abcdef0123456, 0x78091a2b00000000, 0x0f13579bd);
	testInt64ShiftL16(0x000000020, -0xfedcbaa00000000, 0x0789abcde);
	testInt64ShiftR8(0x789abcdef0123456, -0xfedcbaa00000000, 0x0789abcde);
	testInt64ShiftL16(0x000000021, -0x1fdb975400000000, 0x03c4d5e6f);
	testInt64ShiftR9(0x789abcdef0123456, -0x1fdb975400000000, 0x03c4d5e6f);
	testInt64ShiftL16(0x00000003d, -0x4000000000000000, 0x000000003);
	testInt64ShiftR10(0x789abcdef0123456, -0x4000000000000000, 0x000000003);
	testInt64ShiftL16(0x00000003e, -0x8000000000000000, 0x000000001);
	testInt64ShiftR11(0x789abcdef0123456, -0x8000000000000000, 0x000000001);
	testInt64ShiftL16(0x00000003f, 0x000000000, 0x000000000);
	testInt64ShiftR12(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x000000040, 0x000000000, 0x000000000);
	testInt64ShiftR13(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x000000041, 0x000000000, 0x000000000);
	testInt64ShiftR14(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x0ffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR15(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x100000000, 0x000000000, 0x000000000);
	testInt64ShiftR16(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x100000001, 0x000000000, 0x000000000);
	testInt64ShiftR17(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x1000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR18(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0x8000000000000000, 0x000000000, 0x000000000);
	testInt64ShiftR19(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0xffffffff00000000, 0x000000000, 0x000000000);
	testInt64ShiftR20(0x789abcdef0123456, 0x000000000, 0x000000000);
	testInt64ShiftL16(0xffffffffffffffff, 0x000000000, 0x000000000);
	testInt64ShiftR21(0x789abcdef0123456, 0x000000000, 0x000000000);
}
func test72() {
	testInt64BinaryL17(0x000000000, -0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000001, false);
	testInt64BinaryR0(-0x000000001, -0x000000001, -0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000001, false);
	testInt64BinaryL17(0x000000001, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000002, true);
	testInt64BinaryR1(-0x000000001, 0x000000000, -0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000002, true);
	testInt64BinaryL17(0x000000002, 0x000000001, -0x000000003, -0x000000002, 0x000000000, -0x000000001, 0x000000002, -0x000000001, -0x000000003, -0x000000003, true);
	testInt64BinaryR2(-0x000000001, 0x000000001, -0x000000003, -0x000000002, 0x000000000, -0x000000001, 0x000000002, -0x000000001, -0x000000003, -0x000000003, true);
	testInt64BinaryL17(0x000000003, 0x000000002, -0x000000004, -0x000000003, 0x000000000, -0x000000001, 0x000000003, -0x000000001, -0x000000004, -0x000000004, true);
	testInt64BinaryR3(-0x000000001, 0x000000002, -0x000000004, -0x000000003, 0x000000000, -0x000000001, 0x000000003, -0x000000001, -0x000000004, -0x000000004, true);
	testInt64BinaryL17(0x000000064, 0x000000063, -0x000000065, -0x000000064, 0x000000000, -0x000000001, 0x000000064, -0x000000001, -0x000000065, -0x000000065, true);
	testInt64BinaryR4(-0x000000001, 0x000000063, -0x000000065, -0x000000064, 0x000000000, -0x000000001, 0x000000064, -0x000000001, -0x000000065, -0x000000065, true);
	testInt64BinaryL17(0x000002711, 0x000002710, -0x000002712, -0x000002711, 0x000000000, -0x000000001, 0x000002711, -0x000000001, -0x000002712, -0x000002712, true);
	testInt64BinaryR5(-0x000000001, 0x000002710, -0x000002712, -0x000002711, 0x000000000, -0x000000001, 0x000002711, -0x000000001, -0x000002712, -0x000002712, true);
	testInt64BinaryL17(0x07fffffff, 0x07ffffffe, -0x080000000, -0x07fffffff, 0x000000000, -0x000000001, 0x07fffffff, -0x000000001, -0x080000000, -0x080000000, true);
	testInt64BinaryR6(-0x000000001, 0x07ffffffe, -0x080000000, -0x07fffffff, 0x000000000, -0x000000001, 0x07fffffff, -0x000000001, -0x080000000, -0x080000000, true);
	testInt64BinaryL17(0x080000000, 0x07fffffff, -0x080000001, -0x080000000, 0x000000000, -0x000000001, 0x080000000, -0x000000001, -0x080000001, -0x080000001, true);
	testInt64BinaryR7(-0x000000001, 0x07fffffff, -0x080000001, -0x080000000, 0x000000000, -0x000000001, 0x080000000, -0x000000001, -0x080000001, -0x080000001, true);
	testInt64BinaryL17(0x080000001, 0x080000000, -0x080000002, -0x080000001, 0x000000000, -0x000000001, 0x080000001, -0x000000001, -0x080000002, -0x080000002, true);
	testInt64BinaryR8(-0x000000001, 0x080000000, -0x080000002, -0x080000001, 0x000000000, -0x000000001, 0x080000001, -0x000000001, -0x080000002, -0x080000002, true);
	testInt64BinaryL17(0x0c0000000, 0x0bfffffff, -0x0c0000001, -0x0c0000000, 0x000000000, -0x000000001, 0x0c0000000, -0x000000001, -0x0c0000001, -0x0c0000001, true);
	testInt64BinaryR9(-0x000000001, 0x0bfffffff, -0x0c0000001, -0x0c0000000, 0x000000000, -0x000000001, 0x0c0000000, -0x000000001, -0x0c0000001, -0x0c0000001, true);
	testInt64BinaryL17(0x0ffffffff, 0x0fffffffe, -0x100000000, -0x0ffffffff, 0x000000000, -0x000000001, 0x0ffffffff, -0x000000001, -0x100000000, -0x100000000, true);
	testInt64BinaryR10(-0x000000001, 0x0fffffffe, -0x100000000, -0x0ffffffff, 0x000000000, -0x000000001, 0x0ffffffff, -0x000000001, -0x100000000, -0x100000000, true);
	testInt64BinaryL17(0x100000000, 0x0ffffffff, -0x100000001, -0x100000000, 0x000000000, -0x000000001, 0x100000000, -0x000000001, -0x100000001, -0x100000001, true);
	testInt64BinaryR11(-0x000000001, 0x0ffffffff, -0x100000001, -0x100000000, 0x000000000, -0x000000001, 0x100000000, -0x000000001, -0x100000001, -0x100000001, true);
	testInt64BinaryL17(0x100000001, 0x100000000, -0x100000002, -0x100000001, 0x000000000, -0x000000001, 0x100000001, -0x000000001, -0x100000002, -0x100000002, true);
	testInt64BinaryR12(-0x000000001, 0x100000000, -0x100000002, -0x100000001, 0x000000000, -0x000000001, 0x100000001, -0x000000001, -0x100000002, -0x100000002, true);
	testInt64BinaryL17(0x200000000, 0x1ffffffff, -0x200000001, -0x200000000, 0x000000000, -0x000000001, 0x200000000, -0x000000001, -0x200000001, -0x200000001, true);
	testInt64BinaryR13(-0x000000001, 0x1ffffffff, -0x200000001, -0x200000000, 0x000000000, -0x000000001, 0x200000000, -0x000000001, -0x200000001, -0x200000001, true);
	testInt64BinaryL17(0x7fffffffffffd8f0, 0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, -0x000000001, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, -0x7fffffffffffd8f1, true);
	testInt64BinaryR14(-0x000000001, 0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, 0x000000000, -0x000000001, 0x7fffffffffffd8f0, -0x000000001, -0x7fffffffffffd8f1, -0x7fffffffffffd8f1, true);
	testInt64BinaryL17(0x7fffffffffffffff, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, -0x000000001, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, -0x8000000000000000, true);
	testInt64BinaryR15(-0x000000001, 0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, 0x000000000, -0x000000001, 0x7fffffffffffffff, -0x000000001, -0x8000000000000000, -0x8000000000000000, true);
	testInt64BinaryL17(0x789abcdef0123456, 0x789abcdef0123455, -0x789abcdef0123457, -0x789abcdef0123456, 0x000000000, -0x000000001, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, -0x789abcdef0123457, true);
	testInt64BinaryR16(-0x000000001, 0x789abcdef0123455, -0x789abcdef0123457, -0x789abcdef0123456, 0x000000000, -0x000000001, 0x789abcdef0123456, -0x000000001, -0x789abcdef0123457, -0x789abcdef0123457, true);
	testInt64BinaryL17(-0x000000001, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000000, 0x000000000, true);
	testInt64BinaryR17(-0x000000001, -0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x000000001, -0x000000001, 0x000000000, 0x000000000, true);
	testInt64BinaryL17(-0x000000002, -0x000000003, 0x000000001, 0x000000002, 0x000000000, -0x000000001, -0x000000002, -0x000000001, 0x000000001, 0x000000001, true);
	testInt64BinaryR18(-0x000000001, -0x000000003, 0x000000001, 0x000000002, 0x000000000, -0x000000001, -0x000000002, -0x000000001, 0x000000001, 0x000000001, true);
	testInt64BinaryL17(-0x000000003, -0x000000004, 0x000000002, 0x000000003, 0x000000000, -0x000000001, -0x000000003, -0x000000001, 0x000000002, 0x000000002, true);
	testInt64BinaryR19(-0x000000001, -0x000000004, 0x000000002, 0x000000003, 0x000000000, -0x000000001, -0x000000003, -0x000000001, 0x000000002, 0x000000002, true);
	testInt64BinaryL17(-0x000000064, -0x000000065, 0x000000063, 0x000000064, 0x000000000, -0x000000001, -0x000000064, -0x000000001, 0x000000063, 0x000000063, true);
	testInt64BinaryR20(-0x000000001, -0x000000065, 0x000000063, 0x000000064, 0x000000000, -0x000000001, -0x000000064, -0x000000001, 0x000000063, 0x000000063, true);
	testInt64BinaryL17(-0x000002711, -0x000002712, 0x000002710, 0x000002711, 0x000000000, -0x000000001, -0x000002711, -0x000000001, 0x000002710, 0x000002710, true);
	testInt64BinaryR21(-0x000000001, -0x000002712, 0x000002710, 0x000002711, 0x000000000, -0x000000001, -0x000002711, -0x000000001, 0x000002710, 0x000002710, true);
	testInt64BinaryL17(-0x07fffffff, -0x080000000, 0x07ffffffe, 0x07fffffff, 0x000000000, -0x000000001, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryR22(-0x000000001, -0x080000000, 0x07ffffffe, 0x07fffffff, 0x000000000, -0x000000001, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryL17(-0x080000000, -0x080000001, 0x07fffffff, 0x080000000, 0x000000000, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryR23(-0x000000001, -0x080000001, 0x07fffffff, 0x080000000, 0x000000000, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryL17(-0x080000001, -0x080000002, 0x080000000, 0x080000001, 0x000000000, -0x000000001, -0x080000001, -0x000000001, 0x080000000, 0x080000000, true);
	testInt64BinaryR24(-0x000000001, -0x080000002, 0x080000000, 0x080000001, 0x000000000, -0x000000001, -0x080000001, -0x000000001, 0x080000000, 0x080000000, true);
	testInt64BinaryL17(-0x0c0000000, -0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x000000000, -0x000000001, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x0bfffffff, true);
	testInt64BinaryR25(-0x000000001, -0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x000000000, -0x000000001, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x0bfffffff, true);
	testInt64BinaryL17(-0x100000000, -0x100000001, 0x0ffffffff, 0x100000000, 0x000000000, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x0ffffffff, true);
	testInt64BinaryR26(-0x000000001, -0x100000001, 0x0ffffffff, 0x100000000, 0x000000000, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x0ffffffff, true);
	testInt64BinaryL17(-0x0ffffffff, -0x100000000, 0x0fffffffe, 0x0ffffffff, 0x000000000, -0x000000001, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryR27(-0x000000001, -0x100000000, 0x0fffffffe, 0x0ffffffff, 0x000000000, -0x000000001, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryL17(-0x200000000, -0x200000001, 0x1ffffffff, 0x200000000, 0x000000000, -0x000000001, -0x200000000, -0x000000001, 0x1ffffffff, 0x1ffffffff, true);
	testInt64BinaryR28(-0x000000001, -0x200000001, 0x1ffffffff, 0x200000000, 0x000000000, -0x000000001, -0x200000000, -0x000000001, 0x1ffffffff, 0x1ffffffff, true);
	testInt64BinaryL17(-0x7fffffffffffd8f0, -0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, -0x000000001, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64BinaryR29(-0x000000001, -0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x000000000, -0x000000001, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64BinaryL17(-0x7fffffffffffffff, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryR30(-0x000000001, -0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x000000000, -0x000000001, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryL17(-0x8000000000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, 0x000000000, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffffff, true);
	testInt64BinaryR31(-0x000000001, 0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, 0x000000000, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffffff, true);
	testInt64BinaryL17(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbab, 0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x000000000, -0x000000001, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x789abcdd0fedcba9, true);
	testInt64BinaryR32(-0x000000001, -0x789abcdd0fedcbab, 0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x000000000, -0x000000001, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x789abcdd0fedcba9, true);
	testInt64ShiftL17(0x000000000, -0x000000001, -0x000000001);
	testInt64ShiftR0(-0x000000001, -0x000000001, -0x000000001);
	testInt64ShiftL17(0x000000001, -0x000000002, -0x000000001);
	testInt64ShiftR1(-0x000000001, -0x000000002, -0x000000001);
	testInt64ShiftL17(0x000000002, -0x000000004, -0x000000001);
	testInt64ShiftR2(-0x000000001, -0x000000004, -0x000000001);
	testInt64ShiftL17(0x000000003, -0x000000008, -0x000000001);
	testInt64ShiftR3(-0x000000001, -0x000000008, -0x000000001);
	testInt64ShiftL17(0x00000000f, -0x000008000, -0x000000001);
	testInt64ShiftR4(-0x000000001, -0x000008000, -0x000000001);
	testInt64ShiftL17(0x000000010, -0x000010000, -0x000000001);
	testInt64ShiftR5(-0x000000001, -0x000010000, -0x000000001);
	testInt64ShiftL17(0x000000011, -0x000020000, -0x000000001);
	testInt64ShiftR6(-0x000000001, -0x000020000, -0x000000001);
	testInt64ShiftL17(0x00000001f, -0x080000000, -0x000000001);
	testInt64ShiftR7(-0x000000001, -0x080000000, -0x000000001);
	testInt64ShiftL17(0x000000020, -0x100000000, -0x000000001);
	testInt64ShiftR8(-0x000000001, -0x100000000, -0x000000001);
	testInt64ShiftL17(0x000000021, -0x200000000, -0x000000001);
	testInt64ShiftR9(-0x000000001, -0x200000000, -0x000000001);
	testInt64ShiftL17(0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64ShiftR10(-0x000000001, -0x2000000000000000, -0x000000001);
	testInt64ShiftL17(0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x000000001, -0x4000000000000000, -0x000000001);
	testInt64ShiftL17(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x000000001, -0x8000000000000000, -0x000000001);
	testInt64ShiftL17(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x000000001, 0x000000000, -0x000000001);
	testInt64ShiftL17(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x000000001, 0x000000000, -0x000000001);
}
func test73() {
	testInt64BinaryL18(0x000000000, -0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, -0x000000002, false);
	testInt64BinaryR0(-0x000000002, -0x000000002, -0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000002, -0x000000002, -0x000000002, false);
	testInt64BinaryL18(0x000000001, -0x000000001, -0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000002, true);
	testInt64BinaryR1(-0x000000002, -0x000000001, -0x000000003, -0x000000002, -0x000000002, 0x000000000, 0x000000000, -0x000000001, -0x000000001, -0x000000002, true);
	testInt64BinaryL18(0x000000002, 0x000000000, -0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, -0x000000004, true);
	testInt64BinaryR2(-0x000000002, 0x000000000, -0x000000004, -0x000000004, -0x000000001, 0x000000000, 0x000000002, -0x000000002, -0x000000004, -0x000000004, true);
	testInt64BinaryL18(0x000000003, 0x000000001, -0x000000005, -0x000000006, 0x000000000, -0x000000002, 0x000000002, -0x000000001, -0x000000003, -0x000000004, true);
	testInt64BinaryR3(-0x000000002, 0x000000001, -0x000000005, -0x000000006, 0x000000000, -0x000000002, 0x000000002, -0x000000001, -0x000000003, -0x000000004, true);
	testInt64BinaryL18(0x000000064, 0x000000062, -0x000000066, -0x0000000c8, 0x000000000, -0x000000002, 0x000000064, -0x000000002, -0x000000066, -0x000000066, true);
	testInt64BinaryR4(-0x000000002, 0x000000062, -0x000000066, -0x0000000c8, 0x000000000, -0x000000002, 0x000000064, -0x000000002, -0x000000066, -0x000000066, true);
	testInt64BinaryL18(0x000002711, 0x00000270f, -0x000002713, -0x000004e22, 0x000000000, -0x000000002, 0x000002710, -0x000000001, -0x000002711, -0x000002712, true);
	testInt64BinaryR5(-0x000000002, 0x00000270f, -0x000002713, -0x000004e22, 0x000000000, -0x000000002, 0x000002710, -0x000000001, -0x000002711, -0x000002712, true);
	testInt64BinaryL18(0x07fffffff, 0x07ffffffd, -0x080000001, -0x0fffffffe, 0x000000000, -0x000000002, 0x07ffffffe, -0x000000001, -0x07fffffff, -0x080000000, true);
	testInt64BinaryR6(-0x000000002, 0x07ffffffd, -0x080000001, -0x0fffffffe, 0x000000000, -0x000000002, 0x07ffffffe, -0x000000001, -0x07fffffff, -0x080000000, true);
	testInt64BinaryL18(0x080000000, 0x07ffffffe, -0x080000002, -0x100000000, 0x000000000, -0x000000002, 0x080000000, -0x000000002, -0x080000002, -0x080000002, true);
	testInt64BinaryR7(-0x000000002, 0x07ffffffe, -0x080000002, -0x100000000, 0x000000000, -0x000000002, 0x080000000, -0x000000002, -0x080000002, -0x080000002, true);
	testInt64BinaryL18(0x080000001, 0x07fffffff, -0x080000003, -0x100000002, 0x000000000, -0x000000002, 0x080000000, -0x000000001, -0x080000001, -0x080000002, true);
	testInt64BinaryR8(-0x000000002, 0x07fffffff, -0x080000003, -0x100000002, 0x000000000, -0x000000002, 0x080000000, -0x000000001, -0x080000001, -0x080000002, true);
	testInt64BinaryL18(0x0c0000000, 0x0bffffffe, -0x0c0000002, -0x180000000, 0x000000000, -0x000000002, 0x0c0000000, -0x000000002, -0x0c0000002, -0x0c0000002, true);
	testInt64BinaryR9(-0x000000002, 0x0bffffffe, -0x0c0000002, -0x180000000, 0x000000000, -0x000000002, 0x0c0000000, -0x000000002, -0x0c0000002, -0x0c0000002, true);
	testInt64BinaryL18(0x0ffffffff, 0x0fffffffd, -0x100000001, -0x1fffffffe, 0x000000000, -0x000000002, 0x0fffffffe, -0x000000001, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryR10(-0x000000002, 0x0fffffffd, -0x100000001, -0x1fffffffe, 0x000000000, -0x000000002, 0x0fffffffe, -0x000000001, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryL18(0x100000000, 0x0fffffffe, -0x100000002, -0x200000000, 0x000000000, -0x000000002, 0x100000000, -0x000000002, -0x100000002, -0x100000002, true);
	testInt64BinaryR11(-0x000000002, 0x0fffffffe, -0x100000002, -0x200000000, 0x000000000, -0x000000002, 0x100000000, -0x000000002, -0x100000002, -0x100000002, true);
	testInt64BinaryL18(0x100000001, 0x0ffffffff, -0x100000003, -0x200000002, 0x000000000, -0x000000002, 0x100000000, -0x000000001, -0x100000001, -0x100000002, true);
	testInt64BinaryR12(-0x000000002, 0x0ffffffff, -0x100000003, -0x200000002, 0x000000000, -0x000000002, 0x100000000, -0x000000001, -0x100000001, -0x100000002, true);
	testInt64BinaryL18(0x200000000, 0x1fffffffe, -0x200000002, -0x400000000, 0x000000000, -0x000000002, 0x200000000, -0x000000002, -0x200000002, -0x200000002, true);
	testInt64BinaryR13(-0x000000002, 0x1fffffffe, -0x200000002, -0x400000000, 0x000000000, -0x000000002, 0x200000000, -0x000000002, -0x200000002, -0x200000002, true);
	testInt64BinaryL18(0x7fffffffffffd8f0, 0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, 0x000000000, -0x000000002, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, -0x7fffffffffffd8f2, true);
	testInt64BinaryR14(-0x000000002, 0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, 0x000000000, -0x000000002, 0x7fffffffffffd8f0, -0x000000002, -0x7fffffffffffd8f2, -0x7fffffffffffd8f2, true);
	testInt64BinaryL18(0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, 0x000000000, -0x000000002, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryR15(-0x000000002, 0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, 0x000000000, -0x000000002, 0x7ffffffffffffffe, -0x000000001, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryL18(0x789abcdef0123456, 0x789abcdef0123454, -0x789abcdef0123458, 0xeca86421fdb9754, 0x000000000, -0x000000002, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, -0x789abcdef0123458, true);
	testInt64BinaryR16(-0x000000002, 0x789abcdef0123454, -0x789abcdef0123458, 0xeca86421fdb9754, 0x000000000, -0x000000002, 0x789abcdef0123456, -0x000000002, -0x789abcdef0123458, -0x789abcdef0123458, true);
	testInt64BinaryL18(-0x000000001, -0x000000003, -0x000000001, 0x000000002, 0x000000002, 0x000000000, -0x000000002, -0x000000001, 0x000000001, 0x000000000, true);
	testInt64BinaryR17(-0x000000002, -0x000000003, -0x000000001, 0x000000002, 0x000000002, 0x000000000, -0x000000002, -0x000000001, 0x000000001, 0x000000000, true);
	testInt64BinaryL18(-0x000000002, -0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, -0x000000002, -0x000000002, 0x000000000, 0x000000000, true);
	testInt64BinaryR18(-0x000000002, -0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, -0x000000002, -0x000000002, 0x000000000, 0x000000000, true);
	testInt64BinaryL18(-0x000000003, -0x000000005, 0x000000001, 0x000000006, 0x000000000, -0x000000002, -0x000000004, -0x000000001, 0x000000003, 0x000000002, true);
	testInt64BinaryR19(-0x000000002, -0x000000005, 0x000000001, 0x000000006, 0x000000000, -0x000000002, -0x000000004, -0x000000001, 0x000000003, 0x000000002, true);
	testInt64BinaryL18(-0x000000064, -0x000000066, 0x000000062, 0x0000000c8, 0x000000000, -0x000000002, -0x000000064, -0x000000002, 0x000000062, 0x000000062, true);
	testInt64BinaryR20(-0x000000002, -0x000000066, 0x000000062, 0x0000000c8, 0x000000000, -0x000000002, -0x000000064, -0x000000002, 0x000000062, 0x000000062, true);
	testInt64BinaryL18(-0x000002711, -0x000002713, 0x00000270f, 0x000004e22, 0x000000000, -0x000000002, -0x000002712, -0x000000001, 0x000002711, 0x000002710, true);
	testInt64BinaryR21(-0x000000002, -0x000002713, 0x00000270f, 0x000004e22, 0x000000000, -0x000000002, -0x000002712, -0x000000001, 0x000002711, 0x000002710, true);
	testInt64BinaryL18(-0x07fffffff, -0x080000001, 0x07ffffffd, 0x0fffffffe, 0x000000000, -0x000000002, -0x080000000, -0x000000001, 0x07fffffff, 0x07ffffffe, true);
	testInt64BinaryR22(-0x000000002, -0x080000001, 0x07ffffffd, 0x0fffffffe, 0x000000000, -0x000000002, -0x080000000, -0x000000001, 0x07fffffff, 0x07ffffffe, true);
	testInt64BinaryL18(-0x080000000, -0x080000002, 0x07ffffffe, 0x100000000, 0x000000000, -0x000000002, -0x080000000, -0x000000002, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryR23(-0x000000002, -0x080000002, 0x07ffffffe, 0x100000000, 0x000000000, -0x000000002, -0x080000000, -0x000000002, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryL18(-0x080000001, -0x080000003, 0x07fffffff, 0x100000002, 0x000000000, -0x000000002, -0x080000002, -0x000000001, 0x080000001, 0x080000000, true);
	testInt64BinaryR24(-0x000000002, -0x080000003, 0x07fffffff, 0x100000002, 0x000000000, -0x000000002, -0x080000002, -0x000000001, 0x080000001, 0x080000000, true);
	testInt64BinaryL18(-0x0c0000000, -0x0c0000002, 0x0bffffffe, 0x180000000, 0x000000000, -0x000000002, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x0bffffffe, true);
	testInt64BinaryR25(-0x000000002, -0x0c0000002, 0x0bffffffe, 0x180000000, 0x000000000, -0x000000002, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x0bffffffe, true);
	testInt64BinaryL18(-0x100000000, -0x100000002, 0x0fffffffe, 0x200000000, 0x000000000, -0x000000002, -0x100000000, -0x000000002, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryR26(-0x000000002, -0x100000002, 0x0fffffffe, 0x200000000, 0x000000000, -0x000000002, -0x100000000, -0x000000002, 0x0fffffffe, 0x0fffffffe, true);
	testInt64BinaryL18(-0x0ffffffff, -0x100000001, 0x0fffffffd, 0x1fffffffe, 0x000000000, -0x000000002, -0x100000000, -0x000000001, 0x0ffffffff, 0x0fffffffe, true);
	testInt64BinaryR27(-0x000000002, -0x100000001, 0x0fffffffd, 0x1fffffffe, 0x000000000, -0x000000002, -0x100000000, -0x000000001, 0x0ffffffff, 0x0fffffffe, true);
	testInt64BinaryL18(-0x200000000, -0x200000002, 0x1fffffffe, 0x400000000, 0x000000000, -0x000000002, -0x200000000, -0x000000002, 0x1fffffffe, 0x1fffffffe, true);
	testInt64BinaryR28(-0x000000002, -0x200000002, 0x1fffffffe, 0x400000000, 0x000000000, -0x000000002, -0x200000000, -0x000000002, 0x1fffffffe, 0x1fffffffe, true);
	testInt64BinaryL18(-0x7fffffffffffd8f0, -0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x000000000, -0x000000002, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryR29(-0x000000002, -0x7fffffffffffd8f2, 0x7fffffffffffd8ee, -0x000004e20, 0x000000000, -0x000000002, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryL18(-0x7fffffffffffffff, 0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, true);
	testInt64BinaryR30(-0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, -0x000000002, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, true);
	testInt64BinaryL18(-0x8000000000000000, 0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryR31(-0x000000002, 0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, 0x000000000, -0x000000002, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testInt64BinaryL18(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, 0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x000000000, -0x000000002, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x789abcdd0fedcba8, true);
	testInt64BinaryR32(-0x000000002, -0x789abcdd0fedcbac, 0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x000000000, -0x000000002, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x789abcdd0fedcba8, true);
	testInt64ShiftL18(0x000000000, -0x000000002, -0x000000002);
	testInt64ShiftR0(-0x000000002, -0x000000002, -0x000000002);
	testInt64ShiftL18(0x000000001, -0x000000004, -0x000000001);
	testInt64ShiftR1(-0x000000002, -0x000000004, -0x000000001);
	testInt64ShiftL18(0x000000002, -0x000000008, -0x000000001);
	testInt64ShiftR2(-0x000000002, -0x000000008, -0x000000001);
	testInt64ShiftL18(0x000000003, -0x000000010, -0x000000001);
	testInt64ShiftR3(-0x000000002, -0x000000010, -0x000000001);
	testInt64ShiftL18(0x00000000f, -0x000010000, -0x000000001);
	testInt64ShiftR4(-0x000000002, -0x000010000, -0x000000001);
	testInt64ShiftL18(0x000000010, -0x000020000, -0x000000001);
	testInt64ShiftR5(-0x000000002, -0x000020000, -0x000000001);
	testInt64ShiftL18(0x000000011, -0x000040000, -0x000000001);
	testInt64ShiftR6(-0x000000002, -0x000040000, -0x000000001);
	testInt64ShiftL18(0x00000001f, -0x100000000, -0x000000001);
	testInt64ShiftR7(-0x000000002, -0x100000000, -0x000000001);
	testInt64ShiftL18(0x000000020, -0x200000000, -0x000000001);
	testInt64ShiftR8(-0x000000002, -0x200000000, -0x000000001);
	testInt64ShiftL18(0x000000021, -0x400000000, -0x000000001);
	testInt64ShiftR9(-0x000000002, -0x400000000, -0x000000001);
	testInt64ShiftL18(0x00000003d, -0x4000000000000000, -0x000000001);
	testInt64ShiftR10(-0x000000002, -0x4000000000000000, -0x000000001);
	testInt64ShiftL18(0x00000003e, -0x8000000000000000, -0x000000001);
	testInt64ShiftR11(-0x000000002, -0x8000000000000000, -0x000000001);
	testInt64ShiftL18(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x000000002, 0x000000000, -0x000000001);
	testInt64ShiftL18(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x000000002, 0x000000000, -0x000000001);
}
func test74() {
	testInt64BinaryL19(0x000000000, -0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, -0x000000003, false);
	testInt64BinaryR0(-0x000000003, -0x000000003, -0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000003, -0x000000003, -0x000000003, false);
	testInt64BinaryL19(0x000000001, -0x000000002, -0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000001, -0x000000003, -0x000000004, -0x000000004, true);
	testInt64BinaryR1(-0x000000003, -0x000000002, -0x000000004, -0x000000003, -0x000000003, 0x000000000, 0x000000001, -0x000000003, -0x000000004, -0x000000004, true);
	testInt64BinaryL19(0x000000002, -0x000000001, -0x000000005, -0x000000006, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x000000003, true);
	testInt64BinaryR2(-0x000000003, -0x000000001, -0x000000005, -0x000000006, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x000000003, true);
	testInt64BinaryL19(0x000000003, 0x000000000, -0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000004, true);
	testInt64BinaryR3(-0x000000003, 0x000000000, -0x000000006, -0x000000009, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000000004, true);
	testInt64BinaryL19(0x000000064, 0x000000061, -0x000000067, -0x00000012c, 0x000000000, -0x000000003, 0x000000064, -0x000000003, -0x000000067, -0x000000067, true);
	testInt64BinaryR4(-0x000000003, 0x000000061, -0x000000067, -0x00000012c, 0x000000000, -0x000000003, 0x000000064, -0x000000003, -0x000000067, -0x000000067, true);
	testInt64BinaryL19(0x000002711, 0x00000270e, -0x000002714, -0x000007533, 0x000000000, -0x000000003, 0x000002711, -0x000000003, -0x000002714, -0x000002714, true);
	testInt64BinaryR5(-0x000000003, 0x00000270e, -0x000002714, -0x000007533, 0x000000000, -0x000000003, 0x000002711, -0x000000003, -0x000002714, -0x000002714, true);
	testInt64BinaryL19(0x07fffffff, 0x07ffffffc, -0x080000002, -0x17ffffffd, 0x000000000, -0x000000003, 0x07ffffffd, -0x000000001, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryR6(-0x000000003, 0x07ffffffc, -0x080000002, -0x17ffffffd, 0x000000000, -0x000000003, 0x07ffffffd, -0x000000001, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryL19(0x080000000, 0x07ffffffd, -0x080000003, -0x180000000, 0x000000000, -0x000000003, 0x080000000, -0x000000003, -0x080000003, -0x080000003, true);
	testInt64BinaryR7(-0x000000003, 0x07ffffffd, -0x080000003, -0x180000000, 0x000000000, -0x000000003, 0x080000000, -0x000000003, -0x080000003, -0x080000003, true);
	testInt64BinaryL19(0x080000001, 0x07ffffffe, -0x080000004, -0x180000003, 0x000000000, -0x000000003, 0x080000001, -0x000000003, -0x080000004, -0x080000004, true);
	testInt64BinaryR8(-0x000000003, 0x07ffffffe, -0x080000004, -0x180000003, 0x000000000, -0x000000003, 0x080000001, -0x000000003, -0x080000004, -0x080000004, true);
	testInt64BinaryL19(0x0c0000000, 0x0bffffffd, -0x0c0000003, -0x240000000, 0x000000000, -0x000000003, 0x0c0000000, -0x000000003, -0x0c0000003, -0x0c0000003, true);
	testInt64BinaryR9(-0x000000003, 0x0bffffffd, -0x0c0000003, -0x240000000, 0x000000000, -0x000000003, 0x0c0000000, -0x000000003, -0x0c0000003, -0x0c0000003, true);
	testInt64BinaryL19(0x0ffffffff, 0x0fffffffc, -0x100000002, -0x2fffffffd, 0x000000000, -0x000000003, 0x0fffffffd, -0x000000001, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryR10(-0x000000003, 0x0fffffffc, -0x100000002, -0x2fffffffd, 0x000000000, -0x000000003, 0x0fffffffd, -0x000000001, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryL19(0x100000000, 0x0fffffffd, -0x100000003, -0x300000000, 0x000000000, -0x000000003, 0x100000000, -0x000000003, -0x100000003, -0x100000003, true);
	testInt64BinaryR11(-0x000000003, 0x0fffffffd, -0x100000003, -0x300000000, 0x000000000, -0x000000003, 0x100000000, -0x000000003, -0x100000003, -0x100000003, true);
	testInt64BinaryL19(0x100000001, 0x0fffffffe, -0x100000004, -0x300000003, 0x000000000, -0x000000003, 0x100000001, -0x000000003, -0x100000004, -0x100000004, true);
	testInt64BinaryR12(-0x000000003, 0x0fffffffe, -0x100000004, -0x300000003, 0x000000000, -0x000000003, 0x100000001, -0x000000003, -0x100000004, -0x100000004, true);
	testInt64BinaryL19(0x200000000, 0x1fffffffd, -0x200000003, -0x600000000, 0x000000000, -0x000000003, 0x200000000, -0x000000003, -0x200000003, -0x200000003, true);
	testInt64BinaryR13(-0x000000003, 0x1fffffffd, -0x200000003, -0x600000000, 0x000000000, -0x000000003, 0x200000000, -0x000000003, -0x200000003, -0x200000003, true);
	testInt64BinaryL19(0x7fffffffffffd8f0, 0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, -0x000000003, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, -0x7fffffffffffd8f3, true);
	testInt64BinaryR14(-0x000000003, 0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, 0x000000000, -0x000000003, 0x7fffffffffffd8f0, -0x000000003, -0x7fffffffffffd8f3, -0x7fffffffffffd8f3, true);
	testInt64BinaryL19(0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, -0x000000003, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryR15(-0x000000003, 0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, 0x000000000, -0x000000003, 0x7ffffffffffffffd, -0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryL19(0x789abcdef0123456, 0x789abcdef0123453, -0x789abcdef0123459, -0x69d0369cd0369d02, 0x000000000, -0x000000003, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, -0x789abcdef0123457, true);
	testInt64BinaryR16(-0x000000003, 0x789abcdef0123453, -0x789abcdef0123459, -0x69d0369cd0369d02, 0x000000000, -0x000000003, 0x789abcdef0123454, -0x000000001, -0x789abcdef0123455, -0x789abcdef0123457, true);
	testInt64BinaryL19(-0x000000001, -0x000000004, -0x000000002, 0x000000003, 0x000000003, 0x000000000, -0x000000003, -0x000000001, 0x000000002, 0x000000000, true);
	testInt64BinaryR17(-0x000000003, -0x000000004, -0x000000002, 0x000000003, 0x000000003, 0x000000000, -0x000000003, -0x000000001, 0x000000002, 0x000000000, true);
	testInt64BinaryL19(-0x000000002, -0x000000005, -0x000000001, 0x000000006, 0x000000001, -0x000000001, -0x000000004, -0x000000001, 0x000000003, 0x000000001, true);
	testInt64BinaryR18(-0x000000003, -0x000000005, -0x000000001, 0x000000006, 0x000000001, -0x000000001, -0x000000004, -0x000000001, 0x000000003, 0x000000001, true);
	testInt64BinaryL19(-0x000000003, -0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, -0x000000003, -0x000000003, 0x000000000, 0x000000000, true);
	testInt64BinaryR19(-0x000000003, -0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, -0x000000003, -0x000000003, 0x000000000, 0x000000000, true);
	testInt64BinaryL19(-0x000000064, -0x000000067, 0x000000061, 0x00000012c, 0x000000000, -0x000000003, -0x000000064, -0x000000003, 0x000000061, 0x000000061, true);
	testInt64BinaryR20(-0x000000003, -0x000000067, 0x000000061, 0x00000012c, 0x000000000, -0x000000003, -0x000000064, -0x000000003, 0x000000061, 0x000000061, true);
	testInt64BinaryL19(-0x000002711, -0x000002714, 0x00000270e, 0x000007533, 0x000000000, -0x000000003, -0x000002713, -0x000000001, 0x000002712, 0x000002710, true);
	testInt64BinaryR21(-0x000000003, -0x000002714, 0x00000270e, 0x000007533, 0x000000000, -0x000000003, -0x000002713, -0x000000001, 0x000002712, 0x000002710, true);
	testInt64BinaryL19(-0x07fffffff, -0x080000002, 0x07ffffffc, 0x17ffffffd, 0x000000000, -0x000000003, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x07ffffffc, true);
	testInt64BinaryR22(-0x000000003, -0x080000002, 0x07ffffffc, 0x17ffffffd, 0x000000000, -0x000000003, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x07ffffffc, true);
	testInt64BinaryL19(-0x080000000, -0x080000003, 0x07ffffffd, 0x180000000, 0x000000000, -0x000000003, -0x080000000, -0x000000003, 0x07ffffffd, 0x07ffffffd, true);
	testInt64BinaryR23(-0x000000003, -0x080000003, 0x07ffffffd, 0x180000000, 0x000000000, -0x000000003, -0x080000000, -0x000000003, 0x07ffffffd, 0x07ffffffd, true);
	testInt64BinaryL19(-0x080000001, -0x080000004, 0x07ffffffe, 0x180000003, 0x000000000, -0x000000003, -0x080000003, -0x000000001, 0x080000002, 0x080000000, true);
	testInt64BinaryR24(-0x000000003, -0x080000004, 0x07ffffffe, 0x180000003, 0x000000000, -0x000000003, -0x080000003, -0x000000001, 0x080000002, 0x080000000, true);
	testInt64BinaryL19(-0x0c0000000, -0x0c0000003, 0x0bffffffd, 0x240000000, 0x000000000, -0x000000003, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x0bffffffd, true);
	testInt64BinaryR25(-0x000000003, -0x0c0000003, 0x0bffffffd, 0x240000000, 0x000000000, -0x000000003, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x0bffffffd, true);
	testInt64BinaryL19(-0x100000000, -0x100000003, 0x0fffffffd, 0x300000000, 0x000000000, -0x000000003, -0x100000000, -0x000000003, 0x0fffffffd, 0x0fffffffd, true);
	testInt64BinaryR26(-0x000000003, -0x100000003, 0x0fffffffd, 0x300000000, 0x000000000, -0x000000003, -0x100000000, -0x000000003, 0x0fffffffd, 0x0fffffffd, true);
	testInt64BinaryL19(-0x0ffffffff, -0x100000002, 0x0fffffffc, 0x2fffffffd, 0x000000000, -0x000000003, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x0fffffffc, true);
	testInt64BinaryR27(-0x000000003, -0x100000002, 0x0fffffffc, 0x2fffffffd, 0x000000000, -0x000000003, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x0fffffffc, true);
	testInt64BinaryL19(-0x200000000, -0x200000003, 0x1fffffffd, 0x600000000, 0x000000000, -0x000000003, -0x200000000, -0x000000003, 0x1fffffffd, 0x1fffffffd, true);
	testInt64BinaryR28(-0x000000003, -0x200000003, 0x1fffffffd, 0x600000000, 0x000000000, -0x000000003, -0x200000000, -0x000000003, 0x1fffffffd, 0x1fffffffd, true);
	testInt64BinaryL19(-0x7fffffffffffd8f0, -0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, -0x000000003, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x7fffffffffffd8ed, true);
	testInt64BinaryR29(-0x000000003, -0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x000000000, -0x000000003, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x7fffffffffffd8ed, true);
	testInt64BinaryL19(-0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, -0x000000003, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64BinaryR30(-0x000000003, 0x7ffffffffffffffe, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x000000000, -0x000000003, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testInt64BinaryL19(-0x8000000000000000, 0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, -0x000000003, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64BinaryR31(-0x000000003, 0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, 0x000000000, -0x000000003, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testInt64BinaryL19(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbad, 0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x000000000, -0x000000003, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x789abcdd0fedcba9, true);
	testInt64BinaryR32(-0x000000003, -0x789abcdd0fedcbad, 0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x000000000, -0x000000003, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x789abcdd0fedcba9, true);
	testInt64ShiftL19(0x000000000, -0x000000003, -0x000000003);
	testInt64ShiftR0(-0x000000003, -0x000000003, -0x000000003);
	testInt64ShiftL19(0x000000001, -0x000000006, -0x000000002);
	testInt64ShiftR1(-0x000000003, -0x000000006, -0x000000002);
	testInt64ShiftL19(0x000000002, -0x00000000c, -0x000000001);
	testInt64ShiftR2(-0x000000003, -0x00000000c, -0x000000001);
	testInt64ShiftL19(0x000000003, -0x000000018, -0x000000001);
	testInt64ShiftR3(-0x000000003, -0x000000018, -0x000000001);
	testInt64ShiftL19(0x00000000f, -0x000018000, -0x000000001);
	testInt64ShiftR4(-0x000000003, -0x000018000, -0x000000001);
	testInt64ShiftL19(0x000000010, -0x000030000, -0x000000001);
	testInt64ShiftR5(-0x000000003, -0x000030000, -0x000000001);
	testInt64ShiftL19(0x000000011, -0x000060000, -0x000000001);
	testInt64ShiftR6(-0x000000003, -0x000060000, -0x000000001);
	testInt64ShiftL19(0x00000001f, -0x180000000, -0x000000001);
	testInt64ShiftR7(-0x000000003, -0x180000000, -0x000000001);
	testInt64ShiftL19(0x000000020, -0x300000000, -0x000000001);
	testInt64ShiftR8(-0x000000003, -0x300000000, -0x000000001);
	testInt64ShiftL19(0x000000021, -0x600000000, -0x000000001);
	testInt64ShiftR9(-0x000000003, -0x600000000, -0x000000001);
	testInt64ShiftL19(0x00000003d, -0x6000000000000000, -0x000000001);
	testInt64ShiftR10(-0x000000003, -0x6000000000000000, -0x000000001);
	testInt64ShiftL19(0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x000000003, 0x4000000000000000, -0x000000001);
	testInt64ShiftL19(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x000000003, -0x8000000000000000, -0x000000001);
	testInt64ShiftL19(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x000000003, 0x000000000, -0x000000001);
	testInt64ShiftL19(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x000000003, 0x000000000, -0x000000001);
}
func test75() {
	testInt64BinaryL20(0x000000000, -0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, -0x000000064, false);
	testInt64BinaryR0(-0x000000064, -0x000000064, -0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000000064, -0x000000064, -0x000000064, false);
	testInt64BinaryL20(0x000000001, -0x000000063, -0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000000, -0x000000063, -0x000000063, -0x000000064, true);
	testInt64BinaryR1(-0x000000064, -0x000000063, -0x000000065, -0x000000064, -0x000000064, 0x000000000, 0x000000000, -0x000000063, -0x000000063, -0x000000064, true);
	testInt64BinaryL20(0x000000002, -0x000000062, -0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000000, -0x000000062, -0x000000062, -0x000000064, true);
	testInt64BinaryR2(-0x000000064, -0x000000062, -0x000000066, -0x0000000c8, -0x000000032, 0x000000000, 0x000000000, -0x000000062, -0x000000062, -0x000000064, true);
	testInt64BinaryL20(0x000000003, -0x000000061, -0x000000067, -0x00000012c, -0x000000021, -0x000000001, 0x000000000, -0x000000061, -0x000000061, -0x000000064, true);
	testInt64BinaryR3(-0x000000064, -0x000000061, -0x000000067, -0x00000012c, -0x000000021, -0x000000001, 0x000000000, -0x000000061, -0x000000061, -0x000000064, true);
	testInt64BinaryL20(0x000000064, 0x000000000, -0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, -0x000000068, true);
	testInt64BinaryR4(-0x000000064, 0x000000000, -0x0000000c8, -0x000002710, -0x000000001, 0x000000000, 0x000000004, -0x000000004, -0x000000008, -0x000000068, true);
	testInt64BinaryL20(0x000002711, 0x0000026ad, -0x000002775, -0x0000f42a4, 0x000000000, -0x000000064, 0x000002710, -0x000000063, -0x000002773, -0x000002774, true);
	testInt64BinaryR5(-0x000000064, 0x0000026ad, -0x000002775, -0x0000f42a4, 0x000000000, -0x000000064, 0x000002710, -0x000000063, -0x000002773, -0x000002774, true);
	testInt64BinaryL20(0x07fffffff, 0x07fffff9b, -0x080000063, -0x31ffffff9c, 0x000000000, -0x000000064, 0x07fffff9c, -0x000000001, -0x07fffff9d, -0x080000000, true);
	testInt64BinaryR6(-0x000000064, 0x07fffff9b, -0x080000063, -0x31ffffff9c, 0x000000000, -0x000000064, 0x07fffff9c, -0x000000001, -0x07fffff9d, -0x080000000, true);
	testInt64BinaryL20(0x080000000, 0x07fffff9c, -0x080000064, -0x3200000000, 0x000000000, -0x000000064, 0x080000000, -0x000000064, -0x080000064, -0x080000064, true);
	testInt64BinaryR7(-0x000000064, 0x07fffff9c, -0x080000064, -0x3200000000, 0x000000000, -0x000000064, 0x080000000, -0x000000064, -0x080000064, -0x080000064, true);
	testInt64BinaryL20(0x080000001, 0x07fffff9d, -0x080000065, -0x3200000064, 0x000000000, -0x000000064, 0x080000000, -0x000000063, -0x080000063, -0x080000064, true);
	testInt64BinaryR8(-0x000000064, 0x07fffff9d, -0x080000065, -0x3200000064, 0x000000000, -0x000000064, 0x080000000, -0x000000063, -0x080000063, -0x080000064, true);
	testInt64BinaryL20(0x0c0000000, 0x0bfffff9c, -0x0c0000064, -0x4b00000000, 0x000000000, -0x000000064, 0x0c0000000, -0x000000064, -0x0c0000064, -0x0c0000064, true);
	testInt64BinaryR9(-0x000000064, 0x0bfffff9c, -0x0c0000064, -0x4b00000000, 0x000000000, -0x000000064, 0x0c0000000, -0x000000064, -0x0c0000064, -0x0c0000064, true);
	testInt64BinaryL20(0x0ffffffff, 0x0ffffff9b, -0x100000063, -0x63ffffff9c, 0x000000000, -0x000000064, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, -0x100000000, true);
	testInt64BinaryR10(-0x000000064, 0x0ffffff9b, -0x100000063, -0x63ffffff9c, 0x000000000, -0x000000064, 0x0ffffff9c, -0x000000001, -0x0ffffff9d, -0x100000000, true);
	testInt64BinaryL20(0x100000000, 0x0ffffff9c, -0x100000064, -0x6400000000, 0x000000000, -0x000000064, 0x100000000, -0x000000064, -0x100000064, -0x100000064, true);
	testInt64BinaryR11(-0x000000064, 0x0ffffff9c, -0x100000064, -0x6400000000, 0x000000000, -0x000000064, 0x100000000, -0x000000064, -0x100000064, -0x100000064, true);
	testInt64BinaryL20(0x100000001, 0x0ffffff9d, -0x100000065, -0x6400000064, 0x000000000, -0x000000064, 0x100000000, -0x000000063, -0x100000063, -0x100000064, true);
	testInt64BinaryR12(-0x000000064, 0x0ffffff9d, -0x100000065, -0x6400000064, 0x000000000, -0x000000064, 0x100000000, -0x000000063, -0x100000063, -0x100000064, true);
	testInt64BinaryL20(0x200000000, 0x1ffffff9c, -0x200000064, -0xc800000000, 0x000000000, -0x000000064, 0x200000000, -0x000000064, -0x200000064, -0x200000064, true);
	testInt64BinaryR13(-0x000000064, 0x1ffffff9c, -0x200000064, -0xc800000000, 0x000000000, -0x000000064, 0x200000000, -0x000000064, -0x200000064, -0x200000064, true);
	testInt64BinaryL20(0x7fffffffffffd8f0, 0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, 0x000000000, -0x000000064, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, -0x7fffffffffffd8f4, true);
	testInt64BinaryR14(-0x000000064, 0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, 0x000000000, -0x000000064, 0x7fffffffffffd890, -0x000000004, -0x7fffffffffffd894, -0x7fffffffffffd8f4, true);
	testInt64BinaryL20(0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000000, -0x000000064, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, -0x8000000000000000, true);
	testInt64BinaryR15(-0x000000064, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000000, -0x000000064, 0x7fffffffffffff9c, -0x000000001, -0x7fffffffffffff9d, -0x8000000000000000, true);
	testInt64BinaryL20(0x789abcdef0123456, 0x789abcdef01233f2, -0x789abcdef01234ba, -0x1c71c715c71c7198, 0x000000000, -0x000000064, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, -0x789abcdef0123478, true);
	testInt64BinaryR16(-0x000000064, 0x789abcdef01233f2, -0x789abcdef01234ba, -0x1c71c715c71c7198, 0x000000000, -0x000000064, 0x789abcdef0123414, -0x000000022, -0x789abcdef0123436, -0x789abcdef0123478, true);
	testInt64BinaryL20(-0x000000001, -0x000000065, -0x000000063, 0x000000064, 0x000000064, 0x000000000, -0x000000064, -0x000000001, 0x000000063, 0x000000000, true);
	testInt64BinaryR17(-0x000000064, -0x000000065, -0x000000063, 0x000000064, 0x000000064, 0x000000000, -0x000000064, -0x000000001, 0x000000063, 0x000000000, true);
	testInt64BinaryL20(-0x000000002, -0x000000066, -0x000000062, 0x0000000c8, 0x000000032, 0x000000000, -0x000000064, -0x000000002, 0x000000062, 0x000000000, true);
	testInt64BinaryR18(-0x000000064, -0x000000066, -0x000000062, 0x0000000c8, 0x000000032, 0x000000000, -0x000000064, -0x000000002, 0x000000062, 0x000000000, true);
	testInt64BinaryL20(-0x000000003, -0x000000067, -0x000000061, 0x00000012c, 0x000000021, -0x000000001, -0x000000064, -0x000000003, 0x000000061, 0x000000000, true);
	testInt64BinaryR19(-0x000000064, -0x000000067, -0x000000061, 0x00000012c, 0x000000021, -0x000000001, -0x000000064, -0x000000003, 0x000000061, 0x000000000, true);
	testInt64BinaryL20(-0x000000064, -0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, -0x000000064, -0x000000064, 0x000000000, 0x000000000, true);
	testInt64BinaryR20(-0x000000064, -0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, -0x000000064, -0x000000064, 0x000000000, 0x000000000, true);
	testInt64BinaryL20(-0x000002711, -0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000000, -0x000000064, -0x000002774, -0x000000001, 0x000002773, 0x000002710, true);
	testInt64BinaryR21(-0x000000064, -0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000000, -0x000000064, -0x000002774, -0x000000001, 0x000002773, 0x000002710, true);
	testInt64BinaryL20(-0x07fffffff, -0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x000000000, -0x000000064, -0x080000000, -0x000000063, 0x07fffff9d, 0x07fffff9c, true);
	testInt64BinaryR22(-0x000000064, -0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x000000000, -0x000000064, -0x080000000, -0x000000063, 0x07fffff9d, 0x07fffff9c, true);
	testInt64BinaryL20(-0x080000000, -0x080000064, 0x07fffff9c, 0x3200000000, 0x000000000, -0x000000064, -0x080000000, -0x000000064, 0x07fffff9c, 0x07fffff9c, true);
	testInt64BinaryR23(-0x000000064, -0x080000064, 0x07fffff9c, 0x3200000000, 0x000000000, -0x000000064, -0x080000000, -0x000000064, 0x07fffff9c, 0x07fffff9c, true);
	testInt64BinaryL20(-0x080000001, -0x080000065, 0x07fffff9d, 0x3200000064, 0x000000000, -0x000000064, -0x080000064, -0x000000001, 0x080000063, 0x080000000, true);
	testInt64BinaryR24(-0x000000064, -0x080000065, 0x07fffff9d, 0x3200000064, 0x000000000, -0x000000064, -0x080000064, -0x000000001, 0x080000063, 0x080000000, true);
	testInt64BinaryL20(-0x0c0000000, -0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x000000000, -0x000000064, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x0bfffff9c, true);
	testInt64BinaryR25(-0x000000064, -0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x000000000, -0x000000064, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x0bfffff9c, true);
	testInt64BinaryL20(-0x100000000, -0x100000064, 0x0ffffff9c, 0x6400000000, 0x000000000, -0x000000064, -0x100000000, -0x000000064, 0x0ffffff9c, 0x0ffffff9c, true);
	testInt64BinaryR26(-0x000000064, -0x100000064, 0x0ffffff9c, 0x6400000000, 0x000000000, -0x000000064, -0x100000000, -0x000000064, 0x0ffffff9c, 0x0ffffff9c, true);
	testInt64BinaryL20(-0x0ffffffff, -0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x000000000, -0x000000064, -0x100000000, -0x000000063, 0x0ffffff9d, 0x0ffffff9c, true);
	testInt64BinaryR27(-0x000000064, -0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x000000000, -0x000000064, -0x100000000, -0x000000063, 0x0ffffff9d, 0x0ffffff9c, true);
	testInt64BinaryL20(-0x200000000, -0x200000064, 0x1ffffff9c, 0xc800000000, 0x000000000, -0x000000064, -0x200000000, -0x000000064, 0x1ffffff9c, 0x1ffffff9c, true);
	testInt64BinaryR28(-0x000000064, -0x200000064, 0x1ffffff9c, 0xc800000000, 0x000000000, -0x000000064, -0x200000000, -0x000000064, 0x1ffffff9c, 0x1ffffff9c, true);
	testInt64BinaryL20(-0x7fffffffffffd8f0, -0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x000000000, -0x000000064, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x7fffffffffffd88c, true);
	testInt64BinaryR29(-0x000000064, -0x7fffffffffffd954, 0x7fffffffffffd88c, -0x0000f4240, 0x000000000, -0x000000064, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x7fffffffffffd88c, true);
	testInt64BinaryL20(-0x7fffffffffffffff, 0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x7fffffffffffff9c, true);
	testInt64BinaryR30(-0x000000064, 0x7fffffffffffff9d, 0x7fffffffffffff9b, -0x000000064, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x7fffffffffffff9c, true);
	testInt64BinaryL20(-0x8000000000000000, 0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x7fffffffffffff9c, true);
	testInt64BinaryR31(-0x000000064, 0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, 0x000000000, -0x000000064, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x7fffffffffffff9c, true);
	testInt64BinaryL20(-0x789abcdd0fedcbaa, -0x789abcdd0fedcc0e, 0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x000000000, -0x000000064, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x789abcdd0fedcb88, true);
	testInt64BinaryR32(-0x000000064, -0x789abcdd0fedcc0e, 0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x000000000, -0x000000064, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x789abcdd0fedcb88, true);
	testInt64ShiftL20(0x000000000, -0x000000064, -0x000000064);
	testInt64ShiftR0(-0x000000064, -0x000000064, -0x000000064);
	testInt64ShiftL20(0x000000001, -0x0000000c8, -0x000000032);
	testInt64ShiftR1(-0x000000064, -0x0000000c8, -0x000000032);
	testInt64ShiftL20(0x000000002, -0x000000190, -0x000000019);
	testInt64ShiftR2(-0x000000064, -0x000000190, -0x000000019);
	testInt64ShiftL20(0x000000003, -0x000000320, -0x00000000d);
	testInt64ShiftR3(-0x000000064, -0x000000320, -0x00000000d);
	testInt64ShiftL20(0x00000000f, -0x000320000, -0x000000001);
	testInt64ShiftR4(-0x000000064, -0x000320000, -0x000000001);
	testInt64ShiftL20(0x000000010, -0x000640000, -0x000000001);
	testInt64ShiftR5(-0x000000064, -0x000640000, -0x000000001);
	testInt64ShiftL20(0x000000011, -0x000c80000, -0x000000001);
	testInt64ShiftR6(-0x000000064, -0x000c80000, -0x000000001);
	testInt64ShiftL20(0x00000001f, -0x3200000000, -0x000000001);
	testInt64ShiftR7(-0x000000064, -0x3200000000, -0x000000001);
	testInt64ShiftL20(0x000000020, -0x6400000000, -0x000000001);
	testInt64ShiftR8(-0x000000064, -0x6400000000, -0x000000001);
	testInt64ShiftL20(0x000000021, -0xc800000000, -0x000000001);
	testInt64ShiftR9(-0x000000064, -0xc800000000, -0x000000001);
	testInt64ShiftL20(0x00000003d, -0x8000000000000000, -0x000000001);
	testInt64ShiftR10(-0x000000064, -0x8000000000000000, -0x000000001);
	testInt64ShiftL20(0x00000003e, 0x000000000, -0x000000001);
	testInt64ShiftR11(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x000000064, 0x000000000, -0x000000001);
	testInt64ShiftL20(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x000000064, 0x000000000, -0x000000001);
}
func test76() {
	testInt64BinaryL21(0x000000000, -0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, -0x000002711, false);
	testInt64BinaryR0(-0x000002711, -0x000002711, -0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x000002711, -0x000002711, -0x000002711, false);
	testInt64BinaryL21(0x000000001, -0x000002710, -0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000000001, -0x000002711, -0x000002712, -0x000002712, true);
	testInt64BinaryR1(-0x000002711, -0x000002710, -0x000002712, -0x000002711, -0x000002711, 0x000000000, 0x000000001, -0x000002711, -0x000002712, -0x000002712, true);
	testInt64BinaryL21(0x000000002, -0x00000270f, -0x000002713, -0x000004e22, -0x000001388, -0x000000001, 0x000000002, -0x000002711, -0x000002713, -0x000002713, true);
	testInt64BinaryR2(-0x000002711, -0x00000270f, -0x000002713, -0x000004e22, -0x000001388, -0x000000001, 0x000000002, -0x000002711, -0x000002713, -0x000002713, true);
	testInt64BinaryL21(0x000000003, -0x00000270e, -0x000002714, -0x000007533, -0x000000d05, -0x000000002, 0x000000003, -0x000002711, -0x000002714, -0x000002714, true);
	testInt64BinaryR3(-0x000002711, -0x00000270e, -0x000002714, -0x000007533, -0x000000d05, -0x000000002, 0x000000003, -0x000002711, -0x000002714, -0x000002714, true);
	testInt64BinaryL21(0x000000064, -0x0000026ad, -0x000002775, -0x0000f42a4, -0x000000064, -0x000000001, 0x000000064, -0x000002711, -0x000002775, -0x000002775, true);
	testInt64BinaryR4(-0x000002711, -0x0000026ad, -0x000002775, -0x0000f42a4, -0x000000064, -0x000000001, 0x000000064, -0x000002711, -0x000002775, -0x000002775, true);
	testInt64BinaryL21(0x000002711, 0x000000000, -0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000002712, true);
	testInt64BinaryR5(-0x000002711, 0x000000000, -0x000004e22, -0x005f62f21, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x000002712, true);
	testInt64BinaryL21(0x07fffffff, 0x07fffd8ee, -0x080002710, -0x13887fffd8ef, 0x000000000, -0x000002711, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, -0x080000000, true);
	testInt64BinaryR6(-0x000002711, 0x07fffd8ee, -0x080002710, -0x13887fffd8ef, 0x000000000, -0x000002711, 0x07fffd8ef, -0x000000001, -0x07fffd8f0, -0x080000000, true);
	testInt64BinaryL21(0x080000000, 0x07fffd8ef, -0x080002711, -0x138880000000, 0x000000000, -0x000002711, 0x080000000, -0x000002711, -0x080002711, -0x080002711, true);
	testInt64BinaryR7(-0x000002711, 0x07fffd8ef, -0x080002711, -0x138880000000, 0x000000000, -0x000002711, 0x080000000, -0x000002711, -0x080002711, -0x080002711, true);
	testInt64BinaryL21(0x080000001, 0x07fffd8f0, -0x080002712, -0x138880002711, 0x000000000, -0x000002711, 0x080000001, -0x000002711, -0x080002712, -0x080002712, true);
	testInt64BinaryR8(-0x000002711, 0x07fffd8f0, -0x080002712, -0x138880002711, 0x000000000, -0x000002711, 0x080000001, -0x000002711, -0x080002712, -0x080002712, true);
	testInt64BinaryL21(0x0c0000000, 0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, 0x000000000, -0x000002711, 0x0c0000000, -0x000002711, -0x0c0002711, -0x0c0002711, true);
	testInt64BinaryR9(-0x000002711, 0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, 0x000000000, -0x000002711, 0x0c0000000, -0x000002711, -0x0c0002711, -0x0c0002711, true);
	testInt64BinaryL21(0x0ffffffff, 0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, 0x000000000, -0x000002711, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, -0x100000000, true);
	testInt64BinaryR10(-0x000002711, 0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, 0x000000000, -0x000002711, 0x0ffffd8ef, -0x000000001, -0x0ffffd8f0, -0x100000000, true);
	testInt64BinaryL21(0x100000000, 0x0ffffd8ef, -0x100002711, -0x271100000000, 0x000000000, -0x000002711, 0x100000000, -0x000002711, -0x100002711, -0x100002711, true);
	testInt64BinaryR11(-0x000002711, 0x0ffffd8ef, -0x100002711, -0x271100000000, 0x000000000, -0x000002711, 0x100000000, -0x000002711, -0x100002711, -0x100002711, true);
	testInt64BinaryL21(0x100000001, 0x0ffffd8f0, -0x100002712, -0x271100002711, 0x000000000, -0x000002711, 0x100000001, -0x000002711, -0x100002712, -0x100002712, true);
	testInt64BinaryR12(-0x000002711, 0x0ffffd8f0, -0x100002712, -0x271100002711, 0x000000000, -0x000002711, 0x100000001, -0x000002711, -0x100002712, -0x100002712, true);
	testInt64BinaryL21(0x200000000, 0x1ffffd8ef, -0x200002711, -0x4e2200000000, 0x000000000, -0x000002711, 0x200000000, -0x000002711, -0x200002711, -0x200002711, true);
	testInt64BinaryR13(-0x000002711, 0x1ffffd8ef, -0x200002711, -0x4e2200000000, 0x000000000, -0x000002711, 0x200000000, -0x000002711, -0x200002711, -0x200002711, true);
	testInt64BinaryL21(0x7fffffffffffd8f0, 0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, -0x000002711, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, -0x7ffffffffffffff1, true);
	testInt64BinaryR14(-0x000002711, 0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, 0x000000000, -0x000002711, 0x7fffffffffffd8e0, -0x000002701, -0x7fffffffffffffe1, -0x7ffffffffffffff1, true);
	testInt64BinaryL21(0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, -0x000002711, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64BinaryR15(-0x000002711, 0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, 0x000000000, -0x000002711, 0x7fffffffffffd8ef, -0x000000001, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64BinaryL21(0x789abcdef0123456, 0x789abcdef0120d45, -0x789abcdef0125b67, 0x6af37e9f48d16c4a, 0x000000000, -0x000002711, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, -0x789abcdef0123757, true);
	testInt64BinaryR16(-0x000002711, 0x789abcdef0120d45, -0x789abcdef0125b67, 0x6af37e9f48d16c4a, 0x000000000, -0x000002711, 0x789abcdef0121046, -0x000000301, -0x789abcdef0121347, -0x789abcdef0123757, true);
	testInt64BinaryL21(-0x000000001, -0x000002712, -0x000002710, 0x000002711, 0x000002711, 0x000000000, -0x000002711, -0x000000001, 0x000002710, 0x000000000, true);
	testInt64BinaryR17(-0x000002711, -0x000002712, -0x000002710, 0x000002711, 0x000002711, 0x000000000, -0x000002711, -0x000000001, 0x000002710, 0x000000000, true);
	testInt64BinaryL21(-0x000000002, -0x000002713, -0x00000270f, 0x000004e22, 0x000001388, -0x000000001, -0x000002712, -0x000000001, 0x000002711, 0x000000001, true);
	testInt64BinaryR18(-0x000002711, -0x000002713, -0x00000270f, 0x000004e22, 0x000001388, -0x000000001, -0x000002712, -0x000000001, 0x000002711, 0x000000001, true);
	testInt64BinaryL21(-0x000000003, -0x000002714, -0x00000270e, 0x000007533, 0x000000d05, -0x000000002, -0x000002713, -0x000000001, 0x000002712, 0x000000002, true);
	testInt64BinaryR19(-0x000002711, -0x000002714, -0x00000270e, 0x000007533, 0x000000d05, -0x000000002, -0x000002713, -0x000000001, 0x000002712, 0x000000002, true);
	testInt64BinaryL21(-0x000000064, -0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000064, -0x000000001, -0x000002774, -0x000000001, 0x000002773, 0x000000063, true);
	testInt64BinaryR20(-0x000002711, -0x000002775, -0x0000026ad, 0x0000f42a4, 0x000000064, -0x000000001, -0x000002774, -0x000000001, 0x000002773, 0x000000063, true);
	testInt64BinaryL21(-0x000002711, -0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, -0x000002711, -0x000002711, 0x000000000, 0x000000000, true);
	testInt64BinaryR21(-0x000002711, -0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, -0x000002711, -0x000002711, 0x000000000, 0x000000000, true);
	testInt64BinaryL21(-0x07fffffff, -0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x000000000, -0x000002711, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64BinaryR22(-0x000002711, -0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x000000000, -0x000002711, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x07fffd8ee, true);
	testInt64BinaryL21(-0x080000000, -0x080002711, 0x07fffd8ef, 0x138880000000, 0x000000000, -0x000002711, -0x080000000, -0x000002711, 0x07fffd8ef, 0x07fffd8ef, true);
	testInt64BinaryR23(-0x000002711, -0x080002711, 0x07fffd8ef, 0x138880000000, 0x000000000, -0x000002711, -0x080000000, -0x000002711, 0x07fffd8ef, 0x07fffd8ef, true);
	testInt64BinaryL21(-0x080000001, -0x080002712, 0x07fffd8f0, 0x138880002711, 0x000000000, -0x000002711, -0x080002711, -0x000000001, 0x080002710, 0x080000000, true);
	testInt64BinaryR24(-0x000002711, -0x080002712, 0x07fffd8f0, 0x138880002711, 0x000000000, -0x000002711, -0x080002711, -0x000000001, 0x080002710, 0x080000000, true);
	testInt64BinaryL21(-0x0c0000000, -0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, -0x000002711, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x0bfffd8ef, true);
	testInt64BinaryR25(-0x000002711, -0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x000000000, -0x000002711, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x0bfffd8ef, true);
	testInt64BinaryL21(-0x100000000, -0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000000000, -0x000002711, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x0ffffd8ef, true);
	testInt64BinaryR26(-0x000002711, -0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000000000, -0x000002711, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x0ffffd8ef, true);
	testInt64BinaryL21(-0x0ffffffff, -0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, -0x000002711, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64BinaryR27(-0x000002711, -0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000000000, -0x000002711, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testInt64BinaryL21(-0x200000000, -0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x000000000, -0x000002711, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x1ffffd8ef, true);
	testInt64BinaryR28(-0x000002711, -0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x000000000, -0x000002711, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x1ffffd8ef, true);
	testInt64BinaryL21(-0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, -0x000002711, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffd8ef, true);
	testInt64BinaryR29(-0x000002711, 0x7fffffffffffffff, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x000000000, -0x000002711, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x7fffffffffffd8ef, true);
	testInt64BinaryL21(-0x7fffffffffffffff, 0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, -0x000002711, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryR30(-0x000002711, 0x7fffffffffffd8f0, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x000000000, -0x000002711, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testInt64BinaryL21(-0x8000000000000000, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, -0x000002711, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64BinaryR31(-0x000002711, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, 0x000000000, -0x000002711, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x7fffffffffffd8ef, true);
	testInt64BinaryL21(-0x789abcdd0fedcbaa, -0x789abcdd0fedf2bb, 0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x000000000, -0x000002711, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x789abcdd0fedc8a9, true);
	testInt64BinaryR32(-0x000002711, -0x789abcdd0fedf2bb, 0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x000000000, -0x000002711, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x789abcdd0fedc8a9, true);
	testInt64ShiftL21(0x000000000, -0x000002711, -0x000002711);
	testInt64ShiftR0(-0x000002711, -0x000002711, -0x000002711);
	testInt64ShiftL21(0x000000001, -0x000004e22, -0x000001389);
	testInt64ShiftR1(-0x000002711, -0x000004e22, -0x000001389);
	testInt64ShiftL21(0x000000002, -0x000009c44, -0x0000009c5);
	testInt64ShiftR2(-0x000002711, -0x000009c44, -0x0000009c5);
	testInt64ShiftL21(0x000000003, -0x000013888, -0x0000004e3);
	testInt64ShiftR3(-0x000002711, -0x000013888, -0x0000004e3);
	testInt64ShiftL21(0x00000000f, -0x013888000, -0x000000001);
	testInt64ShiftR4(-0x000002711, -0x013888000, -0x000000001);
	testInt64ShiftL21(0x000000010, -0x027110000, -0x000000001);
	testInt64ShiftR5(-0x000002711, -0x027110000, -0x000000001);
	testInt64ShiftL21(0x000000011, -0x04e220000, -0x000000001);
	testInt64ShiftR6(-0x000002711, -0x04e220000, -0x000000001);
	testInt64ShiftL21(0x00000001f, -0x138880000000, -0x000000001);
	testInt64ShiftR7(-0x000002711, -0x138880000000, -0x000000001);
	testInt64ShiftL21(0x000000020, -0x271100000000, -0x000000001);
	testInt64ShiftR8(-0x000002711, -0x271100000000, -0x000000001);
	testInt64ShiftL21(0x000000021, -0x4e2200000000, -0x000000001);
	testInt64ShiftR9(-0x000002711, -0x4e2200000000, -0x000000001);
	testInt64ShiftL21(0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64ShiftR10(-0x000002711, -0x2000000000000000, -0x000000001);
	testInt64ShiftL21(0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x000002711, -0x4000000000000000, -0x000000001);
	testInt64ShiftL21(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x000002711, -0x8000000000000000, -0x000000001);
	testInt64ShiftL21(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x000002711, 0x000000000, -0x000000001);
	testInt64ShiftL21(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x000002711, 0x000000000, -0x000000001);
}
func test77() {
	testInt64BinaryL22(0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x07fffffff, false);
	testInt64BinaryR0(-0x07fffffff, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x07fffffff, false);
	testInt64BinaryL22(0x000000001, -0x07ffffffe, -0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000001, -0x07fffffff, -0x080000000, -0x080000000, true);
	testInt64BinaryR1(-0x07fffffff, -0x07ffffffe, -0x080000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000001, -0x07fffffff, -0x080000000, -0x080000000, true);
	testInt64BinaryL22(0x000000002, -0x07ffffffd, -0x080000001, -0x0fffffffe, -0x03fffffff, -0x000000001, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x07fffffff, true);
	testInt64BinaryR2(-0x07fffffff, -0x07ffffffd, -0x080000001, -0x0fffffffe, -0x03fffffff, -0x000000001, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x07fffffff, true);
	testInt64BinaryL22(0x000000003, -0x07ffffffc, -0x080000002, -0x17ffffffd, -0x02aaaaaaa, -0x000000001, 0x000000001, -0x07ffffffd, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryR3(-0x07fffffff, -0x07ffffffc, -0x080000002, -0x17ffffffd, -0x02aaaaaaa, -0x000000001, 0x000000001, -0x07ffffffd, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryL22(0x000000064, -0x07fffff9b, -0x080000063, -0x31ffffff9c, -0x00147ae14, -0x00000002f, 0x000000000, -0x07fffff9b, -0x07fffff9b, -0x07fffffff, true);
	testInt64BinaryR4(-0x07fffffff, -0x07fffff9b, -0x080000063, -0x31ffffff9c, -0x00147ae14, -0x00000002f, 0x000000000, -0x07fffff9b, -0x07fffff9b, -0x07fffffff, true);
	testInt64BinaryL22(0x000002711, -0x07fffd8ee, -0x080002710, -0x13887fffd8ef, -0x0000346c6, -0x0000022d9, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, -0x080000000, true);
	testInt64BinaryR5(-0x07fffffff, -0x07fffd8ee, -0x080002710, -0x13887fffd8ef, -0x0000346c6, -0x0000022d9, 0x000000001, -0x07fffd8ef, -0x07fffd8f0, -0x080000000, true);
	testInt64BinaryL22(0x07fffffff, 0x000000000, -0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000000, true);
	testInt64BinaryR6(-0x07fffffff, 0x000000000, -0x0fffffffe, -0x3fffffff00000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000000, true);
	testInt64BinaryL22(0x080000000, 0x000000001, -0x0ffffffff, -0x3fffffff80000000, 0x000000000, -0x07fffffff, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x0ffffffff, true);
	testInt64BinaryR7(-0x07fffffff, 0x000000001, -0x0ffffffff, -0x3fffffff80000000, 0x000000000, -0x07fffffff, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x0ffffffff, true);
	testInt64BinaryL22(0x080000001, 0x000000002, -0x100000000, -0x3fffffffffffffff, 0x000000000, -0x07fffffff, 0x080000001, -0x07fffffff, -0x100000000, -0x100000000, true);
	testInt64BinaryR8(-0x07fffffff, 0x000000002, -0x100000000, -0x3fffffffffffffff, 0x000000000, -0x07fffffff, 0x080000001, -0x07fffffff, -0x100000000, -0x100000000, true);
	testInt64BinaryL22(0x0c0000000, 0x040000001, -0x13fffffff, -0x5fffffff40000000, 0x000000000, -0x07fffffff, 0x080000000, -0x03fffffff, -0x0bfffffff, -0x0ffffffff, true);
	testInt64BinaryR9(-0x07fffffff, 0x040000001, -0x13fffffff, -0x5fffffff40000000, 0x000000000, -0x07fffffff, 0x080000000, -0x03fffffff, -0x0bfffffff, -0x0ffffffff, true);
	testInt64BinaryL22(0x0ffffffff, 0x080000000, -0x17ffffffe, -0x7ffffffe80000001, 0x000000000, -0x07fffffff, 0x080000001, -0x000000001, -0x080000002, -0x100000000, true);
	testInt64BinaryR10(-0x07fffffff, 0x080000000, -0x17ffffffe, -0x7ffffffe80000001, 0x000000000, -0x07fffffff, 0x080000001, -0x000000001, -0x080000002, -0x100000000, true);
	testInt64BinaryL22(0x100000000, 0x080000001, -0x17fffffff, -0x7fffffff00000000, 0x000000000, -0x07fffffff, 0x100000000, -0x07fffffff, -0x17fffffff, -0x17fffffff, true);
	testInt64BinaryR11(-0x07fffffff, 0x080000001, -0x17fffffff, -0x7fffffff00000000, 0x000000000, -0x07fffffff, 0x100000000, -0x07fffffff, -0x17fffffff, -0x17fffffff, true);
	testInt64BinaryL22(0x100000001, 0x080000002, -0x180000000, -0x7fffffff7fffffff, 0x000000000, -0x07fffffff, 0x100000001, -0x07fffffff, -0x180000000, -0x180000000, true);
	testInt64BinaryR12(-0x07fffffff, 0x080000002, -0x180000000, -0x7fffffff7fffffff, 0x000000000, -0x07fffffff, 0x100000001, -0x07fffffff, -0x180000000, -0x180000000, true);
	testInt64BinaryL22(0x200000000, 0x180000001, -0x27fffffff, 0x200000000, 0x000000000, -0x07fffffff, 0x200000000, -0x07fffffff, -0x27fffffff, -0x27fffffff, true);
	testInt64BinaryR13(-0x07fffffff, 0x180000001, -0x27fffffff, 0x200000000, 0x000000000, -0x07fffffff, 0x200000000, -0x07fffffff, -0x27fffffff, -0x27fffffff, true);
	testInt64BinaryL22(0x7fffffffffffd8f0, 0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, -0x07fffffff, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, -0x7fffffffffffffff, true);
	testInt64BinaryR14(-0x07fffffff, 0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, 0x000000000, -0x07fffffff, 0x7fffffff80000000, -0x00000270f, -0x7fffffff8000270f, -0x7fffffffffffffff, true);
	testInt64BinaryL22(0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, -0x07fffffff, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64BinaryR15(-0x07fffffff, 0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, 0x000000000, -0x07fffffff, 0x7fffffff80000001, -0x000000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64BinaryL22(0x789abcdef0123456, 0x789abcde70123457, -0x789abcdf70123455, 0x91a2b3f0123456, 0x000000000, -0x07fffffff, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, -0x789abcdeffffffff, true);
	testInt64BinaryR16(-0x07fffffff, 0x789abcde70123457, -0x789abcdf70123455, 0x91a2b3f0123456, 0x000000000, -0x07fffffff, 0x789abcde80000000, -0x00fedcba9, -0x789abcde8fedcba9, -0x789abcdeffffffff, true);
	testInt64BinaryL22(-0x000000001, -0x080000000, -0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryR17(-0x07fffffff, -0x080000000, -0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, -0x07fffffff, -0x000000001, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryL22(-0x000000002, -0x080000001, -0x07ffffffd, 0x0fffffffe, 0x03fffffff, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x000000001, true);
	testInt64BinaryR18(-0x07fffffff, -0x080000001, -0x07ffffffd, 0x0fffffffe, 0x03fffffff, -0x000000001, -0x080000000, -0x000000001, 0x07fffffff, 0x000000001, true);
	testInt64BinaryL22(-0x000000003, -0x080000002, -0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, -0x000000001, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x000000000, true);
	testInt64BinaryR19(-0x07fffffff, -0x080000002, -0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, -0x000000001, -0x07fffffff, -0x000000003, 0x07ffffffc, 0x000000000, true);
	testInt64BinaryL22(-0x000000064, -0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x00147ae14, -0x00000002f, -0x080000000, -0x000000063, 0x07fffff9d, 0x000000001, true);
	testInt64BinaryR20(-0x07fffffff, -0x080000063, -0x07fffff9b, 0x31ffffff9c, 0x00147ae14, -0x00000002f, -0x080000000, -0x000000063, 0x07fffff9d, 0x000000001, true);
	testInt64BinaryL22(-0x000002711, -0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, -0x0000022d9, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x000000000, true);
	testInt64BinaryR21(-0x07fffffff, -0x080002710, -0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, -0x0000022d9, -0x07fffffff, -0x000002711, 0x07fffd8ee, 0x000000000, true);
	testInt64BinaryL22(-0x07fffffff, -0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR22(-0x07fffffff, -0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, -0x07fffffff, -0x07fffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL22(-0x080000000, -0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000000, -0x07fffffff, -0x080000000, -0x07fffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryR23(-0x07fffffff, -0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000000, -0x07fffffff, -0x080000000, -0x07fffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryL22(-0x080000001, -0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x080000000, true);
	testInt64BinaryR24(-0x07fffffff, -0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x080000000, true);
	testInt64BinaryL22(-0x0c0000000, -0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000000, -0x07fffffff, -0x100000000, -0x03fffffff, 0x0c0000001, 0x080000001, true);
	testInt64BinaryR25(-0x07fffffff, -0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000000, -0x07fffffff, -0x100000000, -0x03fffffff, 0x0c0000001, 0x080000001, true);
	testInt64BinaryL22(-0x100000000, -0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000000, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x080000001, true);
	testInt64BinaryR26(-0x07fffffff, -0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000000, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x080000001, true);
	testInt64BinaryL22(-0x0ffffffff, -0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x080000000, true);
	testInt64BinaryR27(-0x07fffffff, -0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000000, -0x07fffffff, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x080000000, true);
	testInt64BinaryL22(-0x200000000, -0x27fffffff, 0x180000001, -0x200000000, 0x000000000, -0x07fffffff, -0x200000000, -0x07fffffff, 0x180000001, 0x180000001, true);
	testInt64BinaryR28(-0x07fffffff, -0x27fffffff, 0x180000001, -0x200000000, 0x000000000, -0x07fffffff, -0x200000000, -0x07fffffff, 0x180000001, 0x180000001, true);
	testInt64BinaryL22(-0x7fffffffffffd8f0, 0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x7fffffff80000001, true);
	testInt64BinaryR29(-0x07fffffff, 0x7fffffff80002711, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x7fffffff80000001, true);
	testInt64BinaryL22(-0x7fffffffffffffff, 0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, -0x07fffffff, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryR30(-0x07fffffff, 0x7fffffff80000002, 0x7fffffff80000000, 0x7fffffff80000001, 0x000000000, -0x07fffffff, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryL22(-0x8000000000000000, 0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000001, true);
	testInt64BinaryR31(-0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, 0x000000000, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000001, true);
	testInt64BinaryL22(-0x789abcdd0fedcbaa, -0x789abcdd8fedcba9, 0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x000000000, -0x07fffffff, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x789abcdd00000001, true);
	testInt64BinaryR32(-0x07fffffff, -0x789abcdd8fedcba9, 0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x000000000, -0x07fffffff, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x789abcdd00000001, true);
	testInt64ShiftL22(0x000000000, -0x07fffffff, -0x07fffffff);
	testInt64ShiftR0(-0x07fffffff, -0x07fffffff, -0x07fffffff);
	testInt64ShiftL22(0x000000001, -0x0fffffffe, -0x040000000);
	testInt64ShiftR1(-0x07fffffff, -0x0fffffffe, -0x040000000);
	testInt64ShiftL22(0x000000002, -0x1fffffffc, -0x020000000);
	testInt64ShiftR2(-0x07fffffff, -0x1fffffffc, -0x020000000);
	testInt64ShiftL22(0x000000003, -0x3fffffff8, -0x010000000);
	testInt64ShiftR3(-0x07fffffff, -0x3fffffff8, -0x010000000);
	testInt64ShiftL22(0x00000000f, -0x3fffffff8000, -0x000010000);
	testInt64ShiftR4(-0x07fffffff, -0x3fffffff8000, -0x000010000);
	testInt64ShiftL22(0x000000010, -0x7fffffff0000, -0x000008000);
	testInt64ShiftR5(-0x07fffffff, -0x7fffffff0000, -0x000008000);
	testInt64ShiftL22(0x000000011, -0xfffffffe0000, -0x000004000);
	testInt64ShiftR6(-0x07fffffff, -0xfffffffe0000, -0x000004000);
	testInt64ShiftL22(0x00000001f, -0x3fffffff80000000, -0x000000001);
	testInt64ShiftR7(-0x07fffffff, -0x3fffffff80000000, -0x000000001);
	testInt64ShiftL22(0x000000020, -0x7fffffff00000000, -0x000000001);
	testInt64ShiftR8(-0x07fffffff, -0x7fffffff00000000, -0x000000001);
	testInt64ShiftL22(0x000000021, 0x200000000, -0x000000001);
	testInt64ShiftR9(-0x07fffffff, 0x200000000, -0x000000001);
	testInt64ShiftL22(0x00000003d, 0x2000000000000000, -0x000000001);
	testInt64ShiftR10(-0x07fffffff, 0x2000000000000000, -0x000000001);
	testInt64ShiftL22(0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x07fffffff, 0x4000000000000000, -0x000000001);
	testInt64ShiftL22(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x07fffffff, -0x8000000000000000, -0x000000001);
	testInt64ShiftL22(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x07fffffff, 0x000000000, -0x000000001);
	testInt64ShiftL22(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x07fffffff, 0x000000000, -0x000000001);
}
func test78() {
	testInt64BinaryL23(0x000000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x080000000, false);
	testInt64BinaryR0(-0x080000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x080000000, false);
	testInt64BinaryL23(0x000000001, -0x07fffffff, -0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x080000000, true);
	testInt64BinaryR1(-0x080000000, -0x07fffffff, -0x080000001, -0x080000000, -0x080000000, 0x000000000, 0x000000000, -0x07fffffff, -0x07fffffff, -0x080000000, true);
	testInt64BinaryL23(0x000000002, -0x07ffffffe, -0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x000000000, -0x07ffffffe, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryR2(-0x080000000, -0x07ffffffe, -0x080000002, -0x100000000, -0x040000000, 0x000000000, 0x000000000, -0x07ffffffe, -0x07ffffffe, -0x080000000, true);
	testInt64BinaryL23(0x000000003, -0x07ffffffd, -0x080000003, -0x180000000, -0x02aaaaaaa, -0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x080000000, true);
	testInt64BinaryR3(-0x080000000, -0x07ffffffd, -0x080000003, -0x180000000, -0x02aaaaaaa, -0x000000002, 0x000000000, -0x07ffffffd, -0x07ffffffd, -0x080000000, true);
	testInt64BinaryL23(0x000000064, -0x07fffff9c, -0x080000064, -0x3200000000, -0x00147ae14, -0x000000030, 0x000000000, -0x07fffff9c, -0x07fffff9c, -0x080000000, true);
	testInt64BinaryR4(-0x080000000, -0x07fffff9c, -0x080000064, -0x3200000000, -0x00147ae14, -0x000000030, 0x000000000, -0x07fffff9c, -0x07fffff9c, -0x080000000, true);
	testInt64BinaryL23(0x000002711, -0x07fffd8ef, -0x080002711, -0x138880000000, -0x0000346c6, -0x0000022da, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, -0x080000000, true);
	testInt64BinaryR5(-0x080000000, -0x07fffd8ef, -0x080002711, -0x138880000000, -0x0000346c6, -0x0000022da, 0x000000000, -0x07fffd8ef, -0x07fffd8ef, -0x080000000, true);
	testInt64BinaryL23(0x07fffffff, -0x000000001, -0x0ffffffff, -0x3fffffff80000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000000, true);
	testInt64BinaryR6(-0x080000000, -0x000000001, -0x0ffffffff, -0x3fffffff80000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000000, true);
	testInt64BinaryL23(0x080000000, 0x000000000, -0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, -0x100000000, true);
	testInt64BinaryR7(-0x080000000, 0x000000000, -0x100000000, -0x4000000000000000, -0x000000001, 0x000000000, 0x080000000, -0x080000000, -0x100000000, -0x100000000, true);
	testInt64BinaryL23(0x080000001, 0x000000001, -0x100000001, -0x4000000080000000, 0x000000000, -0x080000000, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryR8(-0x080000000, 0x000000001, -0x100000001, -0x4000000080000000, 0x000000000, -0x080000000, 0x080000000, -0x07fffffff, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryL23(0x0c0000000, 0x040000000, -0x140000000, -0x6000000000000000, 0x000000000, -0x080000000, 0x080000000, -0x040000000, -0x0c0000000, -0x100000000, true);
	testInt64BinaryR9(-0x080000000, 0x040000000, -0x140000000, -0x6000000000000000, 0x000000000, -0x080000000, 0x080000000, -0x040000000, -0x0c0000000, -0x100000000, true);
	testInt64BinaryL23(0x0ffffffff, 0x07fffffff, -0x17fffffff, -0x7fffffff80000000, 0x000000000, -0x080000000, 0x080000000, -0x000000001, -0x080000001, -0x100000000, true);
	testInt64BinaryR10(-0x080000000, 0x07fffffff, -0x17fffffff, -0x7fffffff80000000, 0x000000000, -0x080000000, 0x080000000, -0x000000001, -0x080000001, -0x100000000, true);
	testInt64BinaryL23(0x100000000, 0x080000000, -0x180000000, -0x8000000000000000, 0x000000000, -0x080000000, 0x100000000, -0x080000000, -0x180000000, -0x180000000, true);
	testInt64BinaryR11(-0x080000000, 0x080000000, -0x180000000, -0x8000000000000000, 0x000000000, -0x080000000, 0x100000000, -0x080000000, -0x180000000, -0x180000000, true);
	testInt64BinaryL23(0x100000001, 0x080000001, -0x180000001, 0x7fffffff80000000, 0x000000000, -0x080000000, 0x100000000, -0x07fffffff, -0x17fffffff, -0x180000000, true);
	testInt64BinaryR12(-0x080000000, 0x080000001, -0x180000001, 0x7fffffff80000000, 0x000000000, -0x080000000, 0x100000000, -0x07fffffff, -0x17fffffff, -0x180000000, true);
	testInt64BinaryL23(0x200000000, 0x180000000, -0x280000000, 0x000000000, 0x000000000, -0x080000000, 0x200000000, -0x080000000, -0x280000000, -0x280000000, true);
	testInt64BinaryR13(-0x080000000, 0x180000000, -0x280000000, 0x000000000, 0x000000000, -0x080000000, 0x200000000, -0x080000000, -0x280000000, -0x280000000, true);
	testInt64BinaryL23(0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, -0x8000000000000000, true);
	testInt64BinaryR14(-0x080000000, 0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000002710, -0x7fffffff80002710, -0x8000000000000000, true);
	testInt64BinaryL23(0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64BinaryR15(-0x080000000, 0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, 0x000000000, -0x080000000, 0x7fffffff80000000, -0x000000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64BinaryL23(0x789abcdef0123456, 0x789abcde70123456, -0x789abcdf70123456, -0x78091a2b00000000, 0x000000000, -0x080000000, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryR16(-0x080000000, 0x789abcde70123456, -0x789abcdf70123456, -0x78091a2b00000000, 0x000000000, -0x080000000, 0x789abcde80000000, -0x00fedcbaa, -0x789abcde8fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryL23(-0x000000001, -0x080000001, -0x07fffffff, 0x080000000, 0x080000000, 0x000000000, -0x080000000, -0x000000001, 0x07fffffff, 0x000000000, true);
	testInt64BinaryR17(-0x080000000, -0x080000001, -0x07fffffff, 0x080000000, 0x080000000, 0x000000000, -0x080000000, -0x000000001, 0x07fffffff, 0x000000000, true);
	testInt64BinaryL23(-0x000000002, -0x080000002, -0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, -0x080000000, -0x000000002, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryR18(-0x080000000, -0x080000002, -0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, -0x080000000, -0x000000002, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryL23(-0x000000003, -0x080000003, -0x07ffffffd, 0x180000000, 0x02aaaaaaa, -0x000000002, -0x080000000, -0x000000003, 0x07ffffffd, 0x000000000, true);
	testInt64BinaryR19(-0x080000000, -0x080000003, -0x07ffffffd, 0x180000000, 0x02aaaaaaa, -0x000000002, -0x080000000, -0x000000003, 0x07ffffffd, 0x000000000, true);
	testInt64BinaryL23(-0x000000064, -0x080000064, -0x07fffff9c, 0x3200000000, 0x00147ae14, -0x000000030, -0x080000000, -0x000000064, 0x07fffff9c, 0x000000000, true);
	testInt64BinaryR20(-0x080000000, -0x080000064, -0x07fffff9c, 0x3200000000, 0x00147ae14, -0x000000030, -0x080000000, -0x000000064, 0x07fffff9c, 0x000000000, true);
	testInt64BinaryL23(-0x000002711, -0x080002711, -0x07fffd8ef, 0x138880000000, 0x0000346c6, -0x0000022da, -0x080000000, -0x000002711, 0x07fffd8ef, 0x000000000, true);
	testInt64BinaryR21(-0x080000000, -0x080002711, -0x07fffd8ef, 0x138880000000, 0x0000346c6, -0x0000022da, -0x080000000, -0x000002711, 0x07fffd8ef, 0x000000000, true);
	testInt64BinaryL23(-0x07fffffff, -0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000001, -0x000000001, -0x080000000, -0x07fffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryR22(-0x080000000, -0x0ffffffff, -0x000000001, 0x3fffffff80000000, 0x000000001, -0x000000001, -0x080000000, -0x07fffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryL23(-0x080000000, -0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR23(-0x080000000, -0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, -0x080000000, -0x080000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL23(-0x080000001, -0x100000001, 0x000000001, 0x4000000080000000, 0x000000000, -0x080000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x080000000, true);
	testInt64BinaryR24(-0x080000000, -0x100000001, 0x000000001, 0x4000000080000000, 0x000000000, -0x080000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x080000000, true);
	testInt64BinaryL23(-0x0c0000000, -0x140000000, 0x040000000, 0x6000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x040000000, 0x0c0000000, 0x080000000, true);
	testInt64BinaryR25(-0x080000000, -0x140000000, 0x040000000, 0x6000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x040000000, 0x0c0000000, 0x080000000, true);
	testInt64BinaryL23(-0x100000000, -0x180000000, 0x080000000, -0x8000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x080000000, 0x080000000, 0x080000000, true);
	testInt64BinaryR26(-0x080000000, -0x180000000, 0x080000000, -0x8000000000000000, 0x000000000, -0x080000000, -0x100000000, -0x080000000, 0x080000000, 0x080000000, true);
	testInt64BinaryL23(-0x0ffffffff, -0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000000, -0x080000000, -0x100000000, -0x07fffffff, 0x080000001, 0x080000000, true);
	testInt64BinaryR27(-0x080000000, -0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000000, -0x080000000, -0x100000000, -0x07fffffff, 0x080000001, 0x080000000, true);
	testInt64BinaryL23(-0x200000000, -0x280000000, 0x180000000, 0x000000000, 0x000000000, -0x080000000, -0x200000000, -0x080000000, 0x180000000, 0x180000000, true);
	testInt64BinaryR28(-0x080000000, -0x280000000, 0x180000000, 0x000000000, 0x000000000, -0x080000000, -0x200000000, -0x080000000, 0x180000000, 0x180000000, true);
	testInt64BinaryL23(-0x7fffffffffffd8f0, 0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x7fffffff80000000, true);
	testInt64BinaryR29(-0x080000000, 0x7fffffff80002710, 0x7fffffff7fffd8f0, -0x138800000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x7fffffff80000000, true);
	testInt64BinaryL23(-0x7fffffffffffffff, 0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000000, true);
	testInt64BinaryR30(-0x080000000, 0x7fffffff80000001, 0x7fffffff7fffffff, -0x080000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x7fffffff80000000, true);
	testInt64BinaryL23(-0x8000000000000000, 0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryR31(-0x080000000, 0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, 0x000000000, -0x080000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testInt64BinaryL23(-0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, 0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x000000000, -0x080000000, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x789abcdd00000000, true);
	testInt64BinaryR32(-0x080000000, -0x789abcdd8fedcbaa, 0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x000000000, -0x080000000, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x789abcdd00000000, true);
	testInt64ShiftL23(0x000000000, -0x080000000, -0x080000000);
	testInt64ShiftR0(-0x080000000, -0x080000000, -0x080000000);
	testInt64ShiftL23(0x000000001, -0x100000000, -0x040000000);
	testInt64ShiftR1(-0x080000000, -0x100000000, -0x040000000);
	testInt64ShiftL23(0x000000002, -0x200000000, -0x020000000);
	testInt64ShiftR2(-0x080000000, -0x200000000, -0x020000000);
	testInt64ShiftL23(0x000000003, -0x400000000, -0x010000000);
	testInt64ShiftR3(-0x080000000, -0x400000000, -0x010000000);
	testInt64ShiftL23(0x00000000f, -0x400000000000, -0x000010000);
	testInt64ShiftR4(-0x080000000, -0x400000000000, -0x000010000);
	testInt64ShiftL23(0x000000010, -0x800000000000, -0x000008000);
	testInt64ShiftR5(-0x080000000, -0x800000000000, -0x000008000);
	testInt64ShiftL23(0x000000011, -0x1000000000000, -0x000004000);
	testInt64ShiftR6(-0x080000000, -0x1000000000000, -0x000004000);
	testInt64ShiftL23(0x00000001f, -0x4000000000000000, -0x000000001);
	testInt64ShiftR7(-0x080000000, -0x4000000000000000, -0x000000001);
	testInt64ShiftL23(0x000000020, -0x8000000000000000, -0x000000001);
	testInt64ShiftR8(-0x080000000, -0x8000000000000000, -0x000000001);
	testInt64ShiftL23(0x000000021, 0x000000000, -0x000000001);
	testInt64ShiftR9(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x00000003d, 0x000000000, -0x000000001);
	testInt64ShiftR10(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x00000003e, 0x000000000, -0x000000001);
	testInt64ShiftR11(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x080000000, 0x000000000, -0x000000001);
	testInt64ShiftL23(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x080000000, 0x000000000, -0x000000001);
}
func test79() {
	testInt64BinaryL24(0x000000000, -0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, -0x080000001, false);
	testInt64BinaryR0(-0x080000001, -0x080000001, -0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x080000001, -0x080000001, -0x080000001, false);
	testInt64BinaryL24(0x000000001, -0x080000000, -0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x000000001, -0x080000001, -0x080000002, -0x080000002, true);
	testInt64BinaryR1(-0x080000001, -0x080000000, -0x080000002, -0x080000001, -0x080000001, 0x000000000, 0x000000001, -0x080000001, -0x080000002, -0x080000002, true);
	testInt64BinaryL24(0x000000002, -0x07fffffff, -0x080000003, -0x100000002, -0x040000000, -0x000000001, 0x000000002, -0x080000001, -0x080000003, -0x080000003, true);
	testInt64BinaryR2(-0x080000001, -0x07fffffff, -0x080000003, -0x100000002, -0x040000000, -0x000000001, 0x000000002, -0x080000001, -0x080000003, -0x080000003, true);
	testInt64BinaryL24(0x000000003, -0x07ffffffe, -0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x000000003, -0x080000001, -0x080000004, -0x080000004, true);
	testInt64BinaryR3(-0x080000001, -0x07ffffffe, -0x080000004, -0x180000003, -0x02aaaaaab, 0x000000000, 0x000000003, -0x080000001, -0x080000004, -0x080000004, true);
	testInt64BinaryL24(0x000000064, -0x07fffff9d, -0x080000065, -0x3200000064, -0x00147ae14, -0x000000031, 0x000000064, -0x080000001, -0x080000065, -0x080000065, true);
	testInt64BinaryR4(-0x080000001, -0x07fffff9d, -0x080000065, -0x3200000064, -0x00147ae14, -0x000000031, 0x000000064, -0x080000001, -0x080000065, -0x080000065, true);
	testInt64BinaryL24(0x000002711, -0x07fffd8f0, -0x080002712, -0x138880002711, -0x0000346c6, -0x0000022db, 0x000002711, -0x080000001, -0x080002712, -0x080002712, true);
	testInt64BinaryR5(-0x080000001, -0x07fffd8f0, -0x080002712, -0x138880002711, -0x0000346c6, -0x0000022db, 0x000002711, -0x080000001, -0x080002712, -0x080002712, true);
	testInt64BinaryL24(0x07fffffff, -0x000000002, -0x100000000, -0x3fffffffffffffff, -0x000000001, -0x000000002, 0x07fffffff, -0x080000001, -0x100000000, -0x100000000, true);
	testInt64BinaryR6(-0x080000001, -0x000000002, -0x100000000, -0x3fffffffffffffff, -0x000000001, -0x000000002, 0x07fffffff, -0x080000001, -0x100000000, -0x100000000, true);
	testInt64BinaryL24(0x080000000, -0x000000001, -0x100000001, -0x4000000080000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000001, true);
	testInt64BinaryR7(-0x080000001, -0x000000001, -0x100000001, -0x4000000080000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x080000001, true);
	testInt64BinaryL24(0x080000001, 0x000000000, -0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000002, true);
	testInt64BinaryR8(-0x080000001, 0x000000000, -0x100000002, -0x4000000100000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x080000002, true);
	testInt64BinaryL24(0x0c0000000, 0x03fffffff, -0x140000001, -0x60000000c0000000, 0x000000000, -0x080000001, 0x040000000, -0x000000001, -0x040000001, -0x0c0000001, true);
	testInt64BinaryR9(-0x080000001, 0x03fffffff, -0x140000001, -0x60000000c0000000, 0x000000000, -0x080000001, 0x040000000, -0x000000001, -0x040000001, -0x0c0000001, true);
	testInt64BinaryL24(0x0ffffffff, 0x07ffffffe, -0x180000000, 0x7fffffff80000001, 0x000000000, -0x080000001, 0x07fffffff, -0x000000001, -0x080000000, -0x100000000, true);
	testInt64BinaryR10(-0x080000001, 0x07ffffffe, -0x180000000, 0x7fffffff80000001, 0x000000000, -0x080000001, 0x07fffffff, -0x000000001, -0x080000000, -0x100000000, true);
	testInt64BinaryL24(0x100000000, 0x07fffffff, -0x180000001, 0x7fffffff00000000, 0x000000000, -0x080000001, 0x100000000, -0x080000001, -0x180000001, -0x180000001, true);
	testInt64BinaryR11(-0x080000001, 0x07fffffff, -0x180000001, 0x7fffffff00000000, 0x000000000, -0x080000001, 0x100000000, -0x080000001, -0x180000001, -0x180000001, true);
	testInt64BinaryL24(0x100000001, 0x080000000, -0x180000002, 0x7ffffffe7fffffff, 0x000000000, -0x080000001, 0x100000001, -0x080000001, -0x180000002, -0x180000002, true);
	testInt64BinaryR12(-0x080000001, 0x080000000, -0x180000002, 0x7ffffffe7fffffff, 0x000000000, -0x080000001, 0x100000001, -0x080000001, -0x180000002, -0x180000002, true);
	testInt64BinaryL24(0x200000000, 0x17fffffff, -0x280000001, -0x200000000, 0x000000000, -0x080000001, 0x200000000, -0x080000001, -0x280000001, -0x280000001, true);
	testInt64BinaryR13(-0x080000001, 0x17fffffff, -0x280000001, -0x200000000, 0x000000000, -0x080000001, 0x200000000, -0x080000001, -0x280000001, -0x280000001, true);
	testInt64BinaryL24(0x7fffffffffffd8f0, 0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, -0x080000001, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, -0x7fffffffffffd8f1, true);
	testInt64BinaryR14(-0x080000001, 0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, 0x000000000, -0x080000001, 0x7fffffff7fffd8f0, -0x000000001, -0x7fffffff7fffd8f1, -0x7fffffffffffd8f1, true);
	testInt64BinaryL24(0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, -0x080000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryR15(-0x080000001, 0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, 0x000000000, -0x080000001, 0x7fffffff7fffffff, -0x000000001, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryL24(0x789abcdef0123456, 0x789abcde70123455, -0x789abcdf70123457, 0xf5c28f60fedcbaa, 0x000000000, -0x080000001, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, -0x789abcdef0123457, true);
	testInt64BinaryR16(-0x080000001, 0x789abcde70123455, -0x789abcdf70123457, 0xf5c28f60fedcbaa, 0x000000000, -0x080000001, 0x789abcde70123456, -0x000000001, -0x789abcde70123457, -0x789abcdef0123457, true);
	testInt64BinaryL24(-0x000000001, -0x080000002, -0x080000000, 0x080000001, 0x080000001, 0x000000000, -0x080000001, -0x000000001, 0x080000000, 0x000000000, true);
	testInt64BinaryR17(-0x080000001, -0x080000002, -0x080000000, 0x080000001, 0x080000001, 0x000000000, -0x080000001, -0x000000001, 0x080000000, 0x000000000, true);
	testInt64BinaryL24(-0x000000002, -0x080000003, -0x07fffffff, 0x100000002, 0x040000000, -0x000000001, -0x080000002, -0x000000001, 0x080000001, 0x000000001, true);
	testInt64BinaryR18(-0x080000001, -0x080000003, -0x07fffffff, 0x100000002, 0x040000000, -0x000000001, -0x080000002, -0x000000001, 0x080000001, 0x000000001, true);
	testInt64BinaryL24(-0x000000003, -0x080000004, -0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, -0x080000003, -0x000000001, 0x080000002, 0x000000002, true);
	testInt64BinaryR19(-0x080000001, -0x080000004, -0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, -0x080000003, -0x000000001, 0x080000002, 0x000000002, true);
	testInt64BinaryL24(-0x000000064, -0x080000065, -0x07fffff9d, 0x3200000064, 0x00147ae14, -0x000000031, -0x080000064, -0x000000001, 0x080000063, 0x000000063, true);
	testInt64BinaryR20(-0x080000001, -0x080000065, -0x07fffff9d, 0x3200000064, 0x00147ae14, -0x000000031, -0x080000064, -0x000000001, 0x080000063, 0x000000063, true);
	testInt64BinaryL24(-0x000002711, -0x080002712, -0x07fffd8f0, 0x138880002711, 0x0000346c6, -0x0000022db, -0x080002711, -0x000000001, 0x080002710, 0x000002710, true);
	testInt64BinaryR21(-0x080000001, -0x080002712, -0x07fffd8f0, 0x138880002711, 0x0000346c6, -0x0000022db, -0x080002711, -0x000000001, 0x080002710, 0x000002710, true);
	testInt64BinaryL24(-0x07fffffff, -0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000001, -0x000000002, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x07ffffffe, true);
	testInt64BinaryR22(-0x080000001, -0x100000000, -0x000000002, 0x3fffffffffffffff, 0x000000001, -0x000000002, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x07ffffffe, true);
	testInt64BinaryL24(-0x080000000, -0x100000001, -0x000000001, 0x4000000080000000, 0x000000001, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x07fffffff, true);
	testInt64BinaryR23(-0x080000001, -0x100000001, -0x000000001, 0x4000000080000000, 0x000000001, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x07fffffff, true);
	testInt64BinaryL24(-0x080000001, -0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, -0x080000001, -0x080000001, 0x000000000, 0x000000000, true);
	testInt64BinaryR24(-0x080000001, -0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, -0x080000001, -0x080000001, 0x000000000, 0x000000000, true);
	testInt64BinaryL24(-0x0c0000000, -0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000000, -0x080000001, -0x0c0000000, -0x080000001, 0x03fffffff, 0x03fffffff, true);
	testInt64BinaryR25(-0x080000001, -0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000000, -0x080000001, -0x0c0000000, -0x080000001, 0x03fffffff, 0x03fffffff, true);
	testInt64BinaryL24(-0x100000000, -0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000000, -0x080000001, -0x100000000, -0x080000001, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryR26(-0x080000001, -0x180000001, 0x07fffffff, -0x7fffffff00000000, 0x000000000, -0x080000001, -0x100000000, -0x080000001, 0x07fffffff, 0x07fffffff, true);
	testInt64BinaryL24(-0x0ffffffff, -0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000000, -0x080000001, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryR27(-0x080000001, -0x180000000, 0x07ffffffe, -0x7fffffff80000001, 0x000000000, -0x080000001, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x07ffffffe, true);
	testInt64BinaryL24(-0x200000000, -0x280000001, 0x17fffffff, 0x200000000, 0x000000000, -0x080000001, -0x200000000, -0x080000001, 0x17fffffff, 0x17fffffff, true);
	testInt64BinaryR28(-0x080000001, -0x280000001, 0x17fffffff, 0x200000000, 0x000000000, -0x080000001, -0x200000000, -0x080000001, 0x17fffffff, 0x17fffffff, true);
	testInt64BinaryL24(-0x7fffffffffffd8f0, 0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, -0x080000001, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x7fffffff7fffd8ef, true);
	testInt64BinaryR29(-0x080000001, 0x7fffffff8000270f, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x000000000, -0x080000001, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x7fffffff7fffd8ef, true);
	testInt64BinaryL24(-0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, -0x080000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64BinaryR30(-0x080000001, 0x7fffffff80000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, -0x080000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testInt64BinaryL24(-0x8000000000000000, 0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, -0x080000001, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64BinaryR31(-0x080000001, 0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, 0x000000000, -0x080000001, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testInt64BinaryL24(-0x789abcdd0fedcbaa, -0x789abcdd8fedcbab, 0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x000000000, -0x080000001, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x789abcdd0fedcba9, true);
	testInt64BinaryR32(-0x080000001, -0x789abcdd8fedcbab, 0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x000000000, -0x080000001, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x789abcdd0fedcba9, true);
	testInt64ShiftL24(0x000000000, -0x080000001, -0x080000001);
	testInt64ShiftR0(-0x080000001, -0x080000001, -0x080000001);
	testInt64ShiftL24(0x000000001, -0x100000002, -0x040000001);
	testInt64ShiftR1(-0x080000001, -0x100000002, -0x040000001);
	testInt64ShiftL24(0x000000002, -0x200000004, -0x020000001);
	testInt64ShiftR2(-0x080000001, -0x200000004, -0x020000001);
	testInt64ShiftL24(0x000000003, -0x400000008, -0x010000001);
	testInt64ShiftR3(-0x080000001, -0x400000008, -0x010000001);
	testInt64ShiftL24(0x00000000f, -0x400000008000, -0x000010001);
	testInt64ShiftR4(-0x080000001, -0x400000008000, -0x000010001);
	testInt64ShiftL24(0x000000010, -0x800000010000, -0x000008001);
	testInt64ShiftR5(-0x080000001, -0x800000010000, -0x000008001);
	testInt64ShiftL24(0x000000011, -0x1000000020000, -0x000004001);
	testInt64ShiftR6(-0x080000001, -0x1000000020000, -0x000004001);
	testInt64ShiftL24(0x00000001f, -0x4000000080000000, -0x000000002);
	testInt64ShiftR7(-0x080000001, -0x4000000080000000, -0x000000002);
	testInt64ShiftL24(0x000000020, 0x7fffffff00000000, -0x000000001);
	testInt64ShiftR8(-0x080000001, 0x7fffffff00000000, -0x000000001);
	testInt64ShiftL24(0x000000021, -0x200000000, -0x000000001);
	testInt64ShiftR9(-0x080000001, -0x200000000, -0x000000001);
	testInt64ShiftL24(0x00000003d, -0x2000000000000000, -0x000000001);
	testInt64ShiftR10(-0x080000001, -0x2000000000000000, -0x000000001);
	testInt64ShiftL24(0x00000003e, -0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x080000001, -0x4000000000000000, -0x000000001);
	testInt64ShiftL24(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x080000001, -0x8000000000000000, -0x000000001);
	testInt64ShiftL24(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x080000001, 0x000000000, -0x000000001);
	testInt64ShiftL24(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x080000001, 0x000000000, -0x000000001);
}
func test80() {
	testInt64BinaryL25(0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, -0x0c0000000, false);
	testInt64BinaryR0(-0x0c0000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0c0000000, -0x0c0000000, -0x0c0000000, false);
	testInt64BinaryL25(0x000000001, -0x0bfffffff, -0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, -0x0bfffffff, -0x0bfffffff, -0x0c0000000, true);
	testInt64BinaryR1(-0x0c0000000, -0x0bfffffff, -0x0c0000001, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, -0x0bfffffff, -0x0bfffffff, -0x0c0000000, true);
	testInt64BinaryL25(0x000000002, -0x0bffffffe, -0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x000000000, -0x0bffffffe, -0x0bffffffe, -0x0c0000000, true);
	testInt64BinaryR2(-0x0c0000000, -0x0bffffffe, -0x0c0000002, -0x180000000, -0x060000000, 0x000000000, 0x000000000, -0x0bffffffe, -0x0bffffffe, -0x0c0000000, true);
	testInt64BinaryL25(0x000000003, -0x0bffffffd, -0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x000000000, -0x0bffffffd, -0x0bffffffd, -0x0c0000000, true);
	testInt64BinaryR3(-0x0c0000000, -0x0bffffffd, -0x0c0000003, -0x240000000, -0x040000000, 0x000000000, 0x000000000, -0x0bffffffd, -0x0bffffffd, -0x0c0000000, true);
	testInt64BinaryL25(0x000000064, -0x0bfffff9c, -0x0c0000064, -0x4b00000000, -0x001eb851e, -0x000000048, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, -0x0c0000000, true);
	testInt64BinaryR4(-0x0c0000000, -0x0bfffff9c, -0x0c0000064, -0x4b00000000, -0x001eb851e, -0x000000048, 0x000000000, -0x0bfffff9c, -0x0bfffff9c, -0x0c0000000, true);
	testInt64BinaryL25(0x000002711, -0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, -0x000000d36, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, -0x0c0000000, true);
	testInt64BinaryR5(-0x0c0000000, -0x0bfffd8ef, -0x0c0002711, -0x1d4cc0000000, -0x00004ea2a, -0x000000d36, 0x000000000, -0x0bfffd8ef, -0x0bfffd8ef, -0x0c0000000, true);
	testInt64BinaryL25(0x07fffffff, -0x040000001, -0x13fffffff, -0x5fffffff40000000, -0x000000001, -0x040000001, 0x040000000, -0x080000001, -0x0c0000001, -0x100000000, true);
	testInt64BinaryR6(-0x0c0000000, -0x040000001, -0x13fffffff, -0x5fffffff40000000, -0x000000001, -0x040000001, 0x040000000, -0x080000001, -0x0c0000001, -0x100000000, true);
	testInt64BinaryL25(0x080000000, -0x040000000, -0x140000000, -0x6000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x0c0000000, true);
	testInt64BinaryR7(-0x0c0000000, -0x040000000, -0x140000000, -0x6000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x0c0000000, true);
	testInt64BinaryL25(0x080000001, -0x03fffffff, -0x140000001, -0x60000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0c0000000, true);
	testInt64BinaryR8(-0x0c0000000, -0x03fffffff, -0x140000001, -0x60000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0c0000000, true);
	testInt64BinaryL25(0x0c0000000, 0x000000000, -0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, -0x100000000, true);
	testInt64BinaryR9(-0x0c0000000, 0x000000000, -0x180000000, 0x7000000000000000, -0x000000001, 0x000000000, 0x040000000, -0x040000000, -0x080000000, -0x100000000, true);
	testInt64BinaryL25(0x0ffffffff, 0x03fffffff, -0x1bfffffff, 0x40000000c0000000, 0x000000000, -0x0c0000000, 0x040000000, -0x000000001, -0x040000001, -0x100000000, true);
	testInt64BinaryR10(-0x0c0000000, 0x03fffffff, -0x1bfffffff, 0x40000000c0000000, 0x000000000, -0x0c0000000, 0x040000000, -0x000000001, -0x040000001, -0x100000000, true);
	testInt64BinaryL25(0x100000000, 0x040000000, -0x1c0000000, 0x4000000000000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0c0000000, -0x1c0000000, -0x1c0000000, true);
	testInt64BinaryR11(-0x0c0000000, 0x040000000, -0x1c0000000, 0x4000000000000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0c0000000, -0x1c0000000, -0x1c0000000, true);
	testInt64BinaryL25(0x100000001, 0x040000001, -0x1c0000001, 0x3fffffff40000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0bfffffff, -0x1bfffffff, -0x1c0000000, true);
	testInt64BinaryR12(-0x0c0000000, 0x040000001, -0x1c0000001, 0x3fffffff40000000, 0x000000000, -0x0c0000000, 0x100000000, -0x0bfffffff, -0x1bfffffff, -0x1c0000000, true);
	testInt64BinaryL25(0x200000000, 0x140000000, -0x2c0000000, -0x8000000000000000, 0x000000000, -0x0c0000000, 0x200000000, -0x0c0000000, -0x2c0000000, -0x2c0000000, true);
	testInt64BinaryR13(-0x0c0000000, 0x140000000, -0x2c0000000, -0x8000000000000000, 0x000000000, -0x0c0000000, 0x200000000, -0x0c0000000, -0x2c0000000, -0x2c0000000, true);
	testInt64BinaryL25(0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, -0x8000000000000000, true);
	testInt64BinaryR14(-0x0c0000000, 0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000002710, -0x7fffffff40002710, -0x8000000000000000, true);
	testInt64BinaryL25(0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, -0x8000000000000000, true);
	testInt64BinaryR15(-0x0c0000000, 0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, 0x000000000, -0x0c0000000, 0x7fffffff40000000, -0x000000001, -0x7fffffff40000001, -0x8000000000000000, true);
	testInt64BinaryL25(0x789abcdef0123456, 0x789abcde30123456, -0x789abcdfb0123456, -0x340da74080000000, 0x000000000, -0x0c0000000, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryR16(-0x0c0000000, 0x789abcde30123456, -0x789abcdfb0123456, -0x340da74080000000, 0x000000000, -0x0c0000000, 0x789abcde40000000, -0x00fedcbaa, -0x789abcde4fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryL25(-0x000000001, -0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x000000000, true);
	testInt64BinaryR17(-0x0c0000000, -0x0c0000001, -0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, -0x0c0000000, -0x000000001, 0x0bfffffff, 0x000000000, true);
	testInt64BinaryL25(-0x000000002, -0x0c0000002, -0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x000000000, true);
	testInt64BinaryR18(-0x0c0000000, -0x0c0000002, -0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, -0x0c0000000, -0x000000002, 0x0bffffffe, 0x000000000, true);
	testInt64BinaryL25(-0x000000003, -0x0c0000003, -0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x000000000, true);
	testInt64BinaryR19(-0x0c0000000, -0x0c0000003, -0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, -0x0c0000000, -0x000000003, 0x0bffffffd, 0x000000000, true);
	testInt64BinaryL25(-0x000000064, -0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x001eb851e, -0x000000048, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x000000000, true);
	testInt64BinaryR20(-0x0c0000000, -0x0c0000064, -0x0bfffff9c, 0x4b00000000, 0x001eb851e, -0x000000048, -0x0c0000000, -0x000000064, 0x0bfffff9c, 0x000000000, true);
	testInt64BinaryL25(-0x000002711, -0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, -0x000000d36, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x000000000, true);
	testInt64BinaryR21(-0x0c0000000, -0x0c0002711, -0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, -0x000000d36, -0x0c0000000, -0x000002711, 0x0bfffd8ef, 0x000000000, true);
	testInt64BinaryL25(-0x07fffffff, -0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000001, -0x040000001, -0x100000000, -0x03fffffff, 0x0c0000001, 0x040000000, true);
	testInt64BinaryR22(-0x0c0000000, -0x13fffffff, -0x040000001, 0x5fffffff40000000, 0x000000001, -0x040000001, -0x100000000, -0x03fffffff, 0x0c0000001, 0x040000000, true);
	testInt64BinaryL25(-0x080000000, -0x140000000, -0x040000000, 0x6000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x040000000, 0x0c0000000, 0x040000000, true);
	testInt64BinaryR23(-0x0c0000000, -0x140000000, -0x040000000, 0x6000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x040000000, 0x0c0000000, 0x040000000, true);
	testInt64BinaryL25(-0x080000001, -0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000001, -0x03fffffff, -0x0c0000000, -0x080000001, 0x03fffffff, 0x000000000, true);
	testInt64BinaryR24(-0x0c0000000, -0x140000001, -0x03fffffff, 0x60000000c0000000, 0x000000001, -0x03fffffff, -0x0c0000000, -0x080000001, 0x03fffffff, 0x000000000, true);
	testInt64BinaryL25(-0x0c0000000, -0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR25(-0x0c0000000, -0x180000000, 0x000000000, -0x7000000000000000, 0x000000001, 0x000000000, -0x0c0000000, -0x0c0000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL25(-0x100000000, -0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64BinaryR26(-0x0c0000000, -0x1c0000000, 0x040000000, -0x4000000000000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0c0000000, 0x040000000, 0x040000000, true);
	testInt64BinaryL25(-0x0ffffffff, -0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0bfffffff, 0x040000001, 0x040000000, true);
	testInt64BinaryR27(-0x0c0000000, -0x1bfffffff, 0x03fffffff, -0x40000000c0000000, 0x000000000, -0x0c0000000, -0x100000000, -0x0bfffffff, 0x040000001, 0x040000000, true);
	testInt64BinaryL25(-0x200000000, -0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000000, -0x0c0000000, -0x200000000, -0x0c0000000, 0x140000000, 0x140000000, true);
	testInt64BinaryR28(-0x0c0000000, -0x2c0000000, 0x140000000, -0x8000000000000000, 0x000000000, -0x0c0000000, -0x200000000, -0x0c0000000, 0x140000000, 0x140000000, true);
	testInt64BinaryL25(-0x7fffffffffffd8f0, 0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x7fffffff40000000, true);
	testInt64BinaryR29(-0x0c0000000, 0x7fffffff40002710, 0x7fffffff3fffd8f0, -0x1d4c00000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x7fffffff40000000, true);
	testInt64BinaryL25(-0x7fffffffffffffff, 0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x7fffffff40000000, true);
	testInt64BinaryR30(-0x0c0000000, 0x7fffffff40000001, 0x7fffffff3fffffff, -0x0c0000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x7fffffff40000000, true);
	testInt64BinaryL25(-0x8000000000000000, 0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x7fffffff40000000, true);
	testInt64BinaryR31(-0x0c0000000, 0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, 0x000000000, -0x0c0000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x7fffffff40000000, true);
	testInt64BinaryL25(-0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, 0x789abcdc4fedcbaa, -0x340da74080000000, 0x000000000, -0x0c0000000, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x789abcdd00000000, true);
	testInt64BinaryR32(-0x0c0000000, -0x789abcddcfedcbaa, 0x789abcdc4fedcbaa, -0x340da74080000000, 0x000000000, -0x0c0000000, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x789abcdd00000000, true);
	testInt64ShiftL25(0x000000000, -0x0c0000000, -0x0c0000000);
	testInt64ShiftR0(-0x0c0000000, -0x0c0000000, -0x0c0000000);
	testInt64ShiftL25(0x000000001, -0x180000000, -0x060000000);
	testInt64ShiftR1(-0x0c0000000, -0x180000000, -0x060000000);
	testInt64ShiftL25(0x000000002, -0x300000000, -0x030000000);
	testInt64ShiftR2(-0x0c0000000, -0x300000000, -0x030000000);
	testInt64ShiftL25(0x000000003, -0x600000000, -0x018000000);
	testInt64ShiftR3(-0x0c0000000, -0x600000000, -0x018000000);
	testInt64ShiftL25(0x00000000f, -0x600000000000, -0x000018000);
	testInt64ShiftR4(-0x0c0000000, -0x600000000000, -0x000018000);
	testInt64ShiftL25(0x000000010, -0xc00000000000, -0x00000c000);
	testInt64ShiftR5(-0x0c0000000, -0xc00000000000, -0x00000c000);
	testInt64ShiftL25(0x000000011, -0x1800000000000, -0x000006000);
	testInt64ShiftR6(-0x0c0000000, -0x1800000000000, -0x000006000);
	testInt64ShiftL25(0x00000001f, -0x6000000000000000, -0x000000002);
	testInt64ShiftR7(-0x0c0000000, -0x6000000000000000, -0x000000002);
	testInt64ShiftL25(0x000000020, 0x4000000000000000, -0x000000001);
	testInt64ShiftR8(-0x0c0000000, 0x4000000000000000, -0x000000001);
	testInt64ShiftL25(0x000000021, -0x8000000000000000, -0x000000001);
	testInt64ShiftR9(-0x0c0000000, -0x8000000000000000, -0x000000001);
	testInt64ShiftL25(0x00000003d, 0x000000000, -0x000000001);
	testInt64ShiftR10(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x00000003e, 0x000000000, -0x000000001);
	testInt64ShiftR11(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x0c0000000, 0x000000000, -0x000000001);
	testInt64ShiftL25(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x0c0000000, 0x000000000, -0x000000001);
}
func test81() {
	testInt64BinaryL26(0x000000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x100000000, false);
	testInt64BinaryR0(-0x100000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x100000000, false);
	testInt64BinaryL26(0x000000001, -0x0ffffffff, -0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryR1(-0x100000000, -0x0ffffffff, -0x100000001, -0x100000000, -0x100000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x100000000, true);
	testInt64BinaryL26(0x000000002, -0x0fffffffe, -0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x000000000, -0x0fffffffe, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryR2(-0x100000000, -0x0fffffffe, -0x100000002, -0x200000000, -0x080000000, 0x000000000, 0x000000000, -0x0fffffffe, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryL26(0x000000003, -0x0fffffffd, -0x100000003, -0x300000000, -0x055555555, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x100000000, true);
	testInt64BinaryR3(-0x100000000, -0x0fffffffd, -0x100000003, -0x300000000, -0x055555555, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x100000000, true);
	testInt64BinaryL26(0x000000064, -0x0ffffff9c, -0x100000064, -0x6400000000, -0x0028f5c28, -0x000000060, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, -0x100000000, true);
	testInt64BinaryR4(-0x100000000, -0x0ffffff9c, -0x100000064, -0x6400000000, -0x0028f5c28, -0x000000060, 0x000000000, -0x0ffffff9c, -0x0ffffff9c, -0x100000000, true);
	testInt64BinaryL26(0x000002711, -0x0ffffd8ef, -0x100002711, -0x271100000000, -0x000068d8d, -0x000001ea3, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, -0x100000000, true);
	testInt64BinaryR5(-0x100000000, -0x0ffffd8ef, -0x100002711, -0x271100000000, -0x000068d8d, -0x000001ea3, 0x000000000, -0x0ffffd8ef, -0x0ffffd8ef, -0x100000000, true);
	testInt64BinaryL26(0x07fffffff, -0x080000001, -0x17fffffff, -0x7fffffff00000000, -0x000000002, -0x000000002, 0x000000000, -0x080000001, -0x080000001, -0x100000000, true);
	testInt64BinaryR6(-0x100000000, -0x080000001, -0x17fffffff, -0x7fffffff00000000, -0x000000002, -0x000000002, 0x000000000, -0x080000001, -0x080000001, -0x100000000, true);
	testInt64BinaryL26(0x080000000, -0x080000000, -0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x100000000, true);
	testInt64BinaryR7(-0x100000000, -0x080000000, -0x180000000, -0x8000000000000000, -0x000000002, 0x000000000, 0x000000000, -0x080000000, -0x080000000, -0x100000000, true);
	testInt64BinaryL26(0x080000001, -0x07fffffff, -0x180000001, 0x7fffffff00000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x100000000, true);
	testInt64BinaryR8(-0x100000000, -0x07fffffff, -0x180000001, 0x7fffffff00000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x100000000, true);
	testInt64BinaryL26(0x0c0000000, -0x040000000, -0x1c0000000, 0x4000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x100000000, true);
	testInt64BinaryR9(-0x100000000, -0x040000000, -0x1c0000000, 0x4000000000000000, -0x000000001, -0x040000000, 0x000000000, -0x040000000, -0x040000000, -0x100000000, true);
	testInt64BinaryL26(0x0ffffffff, -0x000000001, -0x1ffffffff, 0x100000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x100000000, true);
	testInt64BinaryR10(-0x100000000, -0x000000001, -0x1ffffffff, 0x100000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x100000000, true);
	testInt64BinaryL26(0x100000000, 0x000000000, -0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, -0x200000000, true);
	testInt64BinaryR11(-0x100000000, 0x000000000, -0x200000000, 0x000000000, -0x000000001, 0x000000000, 0x100000000, -0x100000000, -0x200000000, -0x200000000, true);
	testInt64BinaryL26(0x100000001, 0x000000001, -0x200000001, -0x100000000, 0x000000000, -0x100000000, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64BinaryR12(-0x100000000, 0x000000001, -0x200000001, -0x100000000, 0x000000000, -0x100000000, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64BinaryL26(0x200000000, 0x100000000, -0x300000000, 0x000000000, 0x000000000, -0x100000000, 0x200000000, -0x100000000, -0x300000000, -0x300000000, true);
	testInt64BinaryR13(-0x100000000, 0x100000000, -0x300000000, 0x000000000, 0x000000000, -0x100000000, 0x200000000, -0x100000000, -0x300000000, -0x300000000, true);
	testInt64BinaryL26(0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, -0x8000000000000000, true);
	testInt64BinaryR14(-0x100000000, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000002710, -0x7fffffff00002710, -0x8000000000000000, true);
	testInt64BinaryL26(0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64BinaryR15(-0x100000000, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000000, -0x100000000, 0x7fffffff00000000, -0x000000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64BinaryL26(0x789abcdef0123456, 0x789abcddf0123456, -0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, -0x100000000, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryR16(-0x100000000, 0x789abcddf0123456, -0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, -0x100000000, 0x789abcde00000000, -0x00fedcbaa, -0x789abcde0fedcbaa, -0x789abcdf00000000, true);
	testInt64BinaryL26(-0x000000001, -0x100000001, -0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000000, true);
	testInt64BinaryR17(-0x100000000, -0x100000001, -0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000000, true);
	testInt64BinaryL26(-0x000000002, -0x100000002, -0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, -0x100000000, -0x000000002, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryR18(-0x100000000, -0x100000002, -0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, -0x100000000, -0x000000002, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryL26(-0x000000003, -0x100000003, -0x0fffffffd, 0x300000000, 0x055555555, -0x000000001, -0x100000000, -0x000000003, 0x0fffffffd, 0x000000000, true);
	testInt64BinaryR19(-0x100000000, -0x100000003, -0x0fffffffd, 0x300000000, 0x055555555, -0x000000001, -0x100000000, -0x000000003, 0x0fffffffd, 0x000000000, true);
	testInt64BinaryL26(-0x000000064, -0x100000064, -0x0ffffff9c, 0x6400000000, 0x0028f5c28, -0x000000060, -0x100000000, -0x000000064, 0x0ffffff9c, 0x000000000, true);
	testInt64BinaryR20(-0x100000000, -0x100000064, -0x0ffffff9c, 0x6400000000, 0x0028f5c28, -0x000000060, -0x100000000, -0x000000064, 0x0ffffff9c, 0x000000000, true);
	testInt64BinaryL26(-0x000002711, -0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000068d8d, -0x000001ea3, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x000000000, true);
	testInt64BinaryR21(-0x100000000, -0x100002711, -0x0ffffd8ef, 0x271100000000, 0x000068d8d, -0x000001ea3, -0x100000000, -0x000002711, 0x0ffffd8ef, 0x000000000, true);
	testInt64BinaryL26(-0x07fffffff, -0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000002, -0x000000002, -0x100000000, -0x07fffffff, 0x080000001, 0x000000000, true);
	testInt64BinaryR22(-0x100000000, -0x17fffffff, -0x080000001, 0x7fffffff00000000, 0x000000002, -0x000000002, -0x100000000, -0x07fffffff, 0x080000001, 0x000000000, true);
	testInt64BinaryL26(-0x080000000, -0x180000000, -0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, -0x100000000, -0x080000000, 0x080000000, 0x000000000, true);
	testInt64BinaryR23(-0x100000000, -0x180000000, -0x080000000, -0x8000000000000000, 0x000000002, 0x000000000, -0x100000000, -0x080000000, 0x080000000, 0x000000000, true);
	testInt64BinaryL26(-0x080000001, -0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000001, -0x07fffffff, -0x100000000, -0x080000001, 0x07fffffff, 0x000000000, true);
	testInt64BinaryR24(-0x100000000, -0x180000001, -0x07fffffff, -0x7fffffff00000000, 0x000000001, -0x07fffffff, -0x100000000, -0x080000001, 0x07fffffff, 0x000000000, true);
	testInt64BinaryL26(-0x0c0000000, -0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64BinaryR25(-0x100000000, -0x1c0000000, -0x040000000, -0x4000000000000000, 0x000000001, -0x040000000, -0x100000000, -0x0c0000000, 0x040000000, 0x000000000, true);
	testInt64BinaryL26(-0x100000000, -0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR26(-0x100000000, -0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x100000000, -0x100000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL26(-0x0ffffffff, -0x1ffffffff, -0x000000001, -0x100000000, 0x000000001, -0x000000001, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryR27(-0x100000000, -0x1ffffffff, -0x000000001, -0x100000000, 0x000000001, -0x000000001, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryL26(-0x200000000, -0x300000000, 0x100000000, 0x000000000, 0x000000000, -0x100000000, -0x200000000, -0x100000000, 0x100000000, 0x100000000, true);
	testInt64BinaryR28(-0x100000000, -0x300000000, 0x100000000, 0x000000000, 0x000000000, -0x100000000, -0x200000000, -0x100000000, 0x100000000, 0x100000000, true);
	testInt64BinaryL26(-0x7fffffffffffd8f0, 0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x7fffffff00000000, true);
	testInt64BinaryR29(-0x100000000, 0x7fffffff00002710, 0x7ffffffeffffd8f0, -0x271000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x7fffffff00000000, true);
	testInt64BinaryL26(-0x7fffffffffffffff, 0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000000, true);
	testInt64BinaryR30(-0x100000000, 0x7fffffff00000001, 0x7ffffffeffffffff, -0x100000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000000, true);
	testInt64BinaryL26(-0x8000000000000000, 0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryR31(-0x100000000, 0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, 0x000000000, -0x100000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryL26(-0x789abcdd0fedcbaa, -0x789abcde0fedcbaa, 0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x000000000, -0x100000000, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x789abcdd00000000, true);
	testInt64BinaryR32(-0x100000000, -0x789abcde0fedcbaa, 0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x000000000, -0x100000000, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x789abcdd00000000, true);
	testInt64ShiftL26(0x000000000, -0x100000000, -0x100000000);
	testInt64ShiftR0(-0x100000000, -0x100000000, -0x100000000);
	testInt64ShiftL26(0x000000001, -0x200000000, -0x080000000);
	testInt64ShiftR1(-0x100000000, -0x200000000, -0x080000000);
	testInt64ShiftL26(0x000000002, -0x400000000, -0x040000000);
	testInt64ShiftR2(-0x100000000, -0x400000000, -0x040000000);
	testInt64ShiftL26(0x000000003, -0x800000000, -0x020000000);
	testInt64ShiftR3(-0x100000000, -0x800000000, -0x020000000);
	testInt64ShiftL26(0x00000000f, -0x800000000000, -0x000020000);
	testInt64ShiftR4(-0x100000000, -0x800000000000, -0x000020000);
	testInt64ShiftL26(0x000000010, -0x1000000000000, -0x000010000);
	testInt64ShiftR5(-0x100000000, -0x1000000000000, -0x000010000);
	testInt64ShiftL26(0x000000011, -0x2000000000000, -0x000008000);
	testInt64ShiftR6(-0x100000000, -0x2000000000000, -0x000008000);
	testInt64ShiftL26(0x00000001f, -0x8000000000000000, -0x000000002);
	testInt64ShiftR7(-0x100000000, -0x8000000000000000, -0x000000002);
	testInt64ShiftL26(0x000000020, 0x000000000, -0x000000001);
	testInt64ShiftR8(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x000000021, 0x000000000, -0x000000001);
	testInt64ShiftR9(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x00000003d, 0x000000000, -0x000000001);
	testInt64ShiftR10(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x00000003e, 0x000000000, -0x000000001);
	testInt64ShiftR11(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftL26(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x100000000, 0x000000000, -0x000000001);
}
func test82() {
	testInt64BinaryL27(0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x0ffffffff, false);
	testInt64BinaryR0(-0x0ffffffff, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x0ffffffff, false);
	testInt64BinaryL27(0x000000001, -0x0fffffffe, -0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000001, -0x0ffffffff, -0x100000000, -0x100000000, true);
	testInt64BinaryR1(-0x0ffffffff, -0x0fffffffe, -0x100000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000001, -0x0ffffffff, -0x100000000, -0x100000000, true);
	testInt64BinaryL27(0x000000002, -0x0fffffffd, -0x100000001, -0x1fffffffe, -0x07fffffff, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x0ffffffff, true);
	testInt64BinaryR2(-0x0ffffffff, -0x0fffffffd, -0x100000001, -0x1fffffffe, -0x07fffffff, -0x000000001, 0x000000000, -0x0fffffffd, -0x0fffffffd, -0x0ffffffff, true);
	testInt64BinaryL27(0x000000003, -0x0fffffffc, -0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x000000001, -0x0fffffffd, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryR3(-0x0ffffffff, -0x0fffffffc, -0x100000002, -0x2fffffffd, -0x055555555, 0x000000000, 0x000000001, -0x0fffffffd, -0x0fffffffe, -0x100000000, true);
	testInt64BinaryL27(0x000000064, -0x0ffffff9b, -0x100000063, -0x63ffffff9c, -0x0028f5c28, -0x00000005f, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, -0x0ffffffff, true);
	testInt64BinaryR4(-0x0ffffffff, -0x0ffffff9b, -0x100000063, -0x63ffffff9c, -0x0028f5c28, -0x00000005f, 0x000000000, -0x0ffffff9b, -0x0ffffff9b, -0x0ffffffff, true);
	testInt64BinaryL27(0x000002711, -0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, -0x000068d8d, -0x000001ea2, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, -0x100000000, true);
	testInt64BinaryR5(-0x0ffffffff, -0x0ffffd8ee, -0x100002710, -0x2710ffffd8ef, -0x000068d8d, -0x000001ea2, 0x000000001, -0x0ffffd8ef, -0x0ffffd8f0, -0x100000000, true);
	testInt64BinaryL27(0x07fffffff, -0x080000000, -0x17ffffffe, -0x7ffffffe80000001, -0x000000002, -0x000000001, 0x000000001, -0x080000001, -0x080000002, -0x100000000, true);
	testInt64BinaryR6(-0x0ffffffff, -0x080000000, -0x17ffffffe, -0x7ffffffe80000001, -0x000000002, -0x000000001, 0x000000001, -0x080000001, -0x080000002, -0x100000000, true);
	testInt64BinaryL27(0x080000000, -0x07fffffff, -0x17fffffff, -0x7fffffff80000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x0ffffffff, true);
	testInt64BinaryR7(-0x0ffffffff, -0x07fffffff, -0x17fffffff, -0x7fffffff80000000, -0x000000001, -0x07fffffff, 0x000000000, -0x07fffffff, -0x07fffffff, -0x0ffffffff, true);
	testInt64BinaryL27(0x080000001, -0x07ffffffe, -0x180000000, 0x7fffffff80000001, -0x000000001, -0x07ffffffe, 0x000000001, -0x07fffffff, -0x080000000, -0x100000000, true);
	testInt64BinaryR8(-0x0ffffffff, -0x07ffffffe, -0x180000000, 0x7fffffff80000001, -0x000000001, -0x07ffffffe, 0x000000001, -0x07fffffff, -0x080000000, -0x100000000, true);
	testInt64BinaryL27(0x0c0000000, -0x03fffffff, -0x1bfffffff, 0x40000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0ffffffff, true);
	testInt64BinaryR9(-0x0ffffffff, -0x03fffffff, -0x1bfffffff, 0x40000000c0000000, -0x000000001, -0x03fffffff, 0x000000000, -0x03fffffff, -0x03fffffff, -0x0ffffffff, true);
	testInt64BinaryL27(0x0ffffffff, 0x000000000, -0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x100000000, true);
	testInt64BinaryR10(-0x0ffffffff, 0x000000000, -0x1fffffffe, 0x1ffffffff, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x100000000, true);
	testInt64BinaryL27(0x100000000, 0x000000001, -0x1ffffffff, 0x100000000, 0x000000000, -0x0ffffffff, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x1ffffffff, true);
	testInt64BinaryR11(-0x0ffffffff, 0x000000001, -0x1ffffffff, 0x100000000, 0x000000000, -0x0ffffffff, 0x100000000, -0x0ffffffff, -0x1ffffffff, -0x1ffffffff, true);
	testInt64BinaryL27(0x100000001, 0x000000002, -0x200000000, 0x000000001, 0x000000000, -0x0ffffffff, 0x100000001, -0x0ffffffff, -0x200000000, -0x200000000, true);
	testInt64BinaryR12(-0x0ffffffff, 0x000000002, -0x200000000, 0x000000001, 0x000000000, -0x0ffffffff, 0x100000001, -0x0ffffffff, -0x200000000, -0x200000000, true);
	testInt64BinaryL27(0x200000000, 0x100000001, -0x2ffffffff, 0x200000000, 0x000000000, -0x0ffffffff, 0x200000000, -0x0ffffffff, -0x2ffffffff, -0x2ffffffff, true);
	testInt64BinaryR13(-0x0ffffffff, 0x100000001, -0x2ffffffff, 0x200000000, 0x000000000, -0x0ffffffff, 0x200000000, -0x0ffffffff, -0x2ffffffff, -0x2ffffffff, true);
	testInt64BinaryL27(0x7fffffffffffd8f0, 0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, -0x0ffffffff, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, -0x7fffffffffffffff, true);
	testInt64BinaryR14(-0x0ffffffff, 0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, 0x000000000, -0x0ffffffff, 0x7fffffff00000000, -0x00000270f, -0x7fffffff0000270f, -0x7fffffffffffffff, true);
	testInt64BinaryL27(0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, -0x0ffffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64BinaryR15(-0x0ffffffff, 0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, 0x000000000, -0x0ffffffff, 0x7fffffff00000001, -0x000000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64BinaryL27(0x789abcdef0123456, 0x789abcddf0123457, -0x789abcdff0123455, -0x777777770fedcbaa, 0x000000000, -0x0ffffffff, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, -0x789abcdeffffffff, true);
	testInt64BinaryR16(-0x0ffffffff, 0x789abcddf0123457, -0x789abcdff0123455, -0x777777770fedcbaa, 0x000000000, -0x0ffffffff, 0x789abcde00000000, -0x00fedcba9, -0x789abcde0fedcba9, -0x789abcdeffffffff, true);
	testInt64BinaryL27(-0x000000001, -0x100000000, -0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryR17(-0x0ffffffff, -0x100000000, -0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, -0x0ffffffff, -0x000000001, 0x0fffffffe, 0x000000000, true);
	testInt64BinaryL27(-0x000000002, -0x100000001, -0x0fffffffd, 0x1fffffffe, 0x07fffffff, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000001, true);
	testInt64BinaryR18(-0x0ffffffff, -0x100000001, -0x0fffffffd, 0x1fffffffe, 0x07fffffff, -0x000000001, -0x100000000, -0x000000001, 0x0ffffffff, 0x000000001, true);
	testInt64BinaryL27(-0x000000003, -0x100000002, -0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x000000000, true);
	testInt64BinaryR19(-0x0ffffffff, -0x100000002, -0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, -0x0ffffffff, -0x000000003, 0x0fffffffc, 0x000000000, true);
	testInt64BinaryL27(-0x000000064, -0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, -0x00000005f, -0x100000000, -0x000000063, 0x0ffffff9d, 0x000000001, true);
	testInt64BinaryR20(-0x0ffffffff, -0x100000063, -0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, -0x00000005f, -0x100000000, -0x000000063, 0x0ffffff9d, 0x000000001, true);
	testInt64BinaryL27(-0x000002711, -0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, -0x000001ea2, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x000000000, true);
	testInt64BinaryR21(-0x0ffffffff, -0x100002710, -0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, -0x000001ea2, -0x0ffffffff, -0x000002711, 0x0ffffd8ee, 0x000000000, true);
	testInt64BinaryL27(-0x07fffffff, -0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000002, -0x000000001, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x000000000, true);
	testInt64BinaryR22(-0x0ffffffff, -0x17ffffffe, -0x080000000, 0x7ffffffe80000001, 0x000000002, -0x000000001, -0x0ffffffff, -0x07fffffff, 0x080000000, 0x000000000, true);
	testInt64BinaryL27(-0x080000000, -0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000001, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x000000001, true);
	testInt64BinaryR23(-0x0ffffffff, -0x17fffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000001, -0x07fffffff, -0x100000000, -0x07fffffff, 0x080000001, 0x000000001, true);
	testInt64BinaryL27(-0x080000001, -0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000001, -0x07ffffffe, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryR24(-0x0ffffffff, -0x180000000, -0x07ffffffe, -0x7fffffff80000001, 0x000000001, -0x07ffffffe, -0x0ffffffff, -0x080000001, 0x07ffffffe, 0x000000000, true);
	testInt64BinaryL27(-0x0c0000000, -0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000001, -0x03fffffff, -0x100000000, -0x0bfffffff, 0x040000001, 0x000000001, true);
	testInt64BinaryR25(-0x0ffffffff, -0x1bfffffff, -0x03fffffff, -0x40000000c0000000, 0x000000001, -0x03fffffff, -0x100000000, -0x0bfffffff, 0x040000001, 0x000000001, true);
	testInt64BinaryL27(-0x100000000, -0x1ffffffff, 0x000000001, -0x100000000, 0x000000000, -0x0ffffffff, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryR26(-0x0ffffffff, -0x1ffffffff, 0x000000001, -0x100000000, 0x000000000, -0x0ffffffff, -0x100000000, -0x0ffffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryL27(-0x0ffffffff, -0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR27(-0x0ffffffff, -0x1fffffffe, 0x000000000, -0x1ffffffff, 0x000000001, 0x000000000, -0x0ffffffff, -0x0ffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL27(-0x200000000, -0x2ffffffff, 0x100000001, -0x200000000, 0x000000000, -0x0ffffffff, -0x200000000, -0x0ffffffff, 0x100000001, 0x100000001, true);
	testInt64BinaryR28(-0x0ffffffff, -0x2ffffffff, 0x100000001, -0x200000000, 0x000000000, -0x0ffffffff, -0x200000000, -0x0ffffffff, 0x100000001, 0x100000001, true);
	testInt64BinaryL27(-0x7fffffffffffd8f0, 0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x7fffffff00000001, true);
	testInt64BinaryR29(-0x0ffffffff, 0x7fffffff00002711, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x7fffffff00000001, true);
	testInt64BinaryL27(-0x7fffffffffffffff, 0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, -0x0ffffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryR30(-0x0ffffffff, 0x7fffffff00000002, 0x7fffffff00000000, 0x7fffffff00000001, 0x000000000, -0x0ffffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testInt64BinaryL27(-0x8000000000000000, 0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000001, true);
	testInt64BinaryR31(-0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, 0x000000000, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x7fffffff00000001, true);
	testInt64BinaryL27(-0x789abcdd0fedcbaa, -0x789abcde0fedcba9, 0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x000000000, -0x0ffffffff, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x789abcdd00000001, true);
	testInt64BinaryR32(-0x0ffffffff, -0x789abcde0fedcba9, 0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x000000000, -0x0ffffffff, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x789abcdd00000001, true);
	testInt64ShiftL27(0x000000000, -0x0ffffffff, -0x0ffffffff);
	testInt64ShiftR0(-0x0ffffffff, -0x0ffffffff, -0x0ffffffff);
	testInt64ShiftL27(0x000000001, -0x1fffffffe, -0x080000000);
	testInt64ShiftR1(-0x0ffffffff, -0x1fffffffe, -0x080000000);
	testInt64ShiftL27(0x000000002, -0x3fffffffc, -0x040000000);
	testInt64ShiftR2(-0x0ffffffff, -0x3fffffffc, -0x040000000);
	testInt64ShiftL27(0x000000003, -0x7fffffff8, -0x020000000);
	testInt64ShiftR3(-0x0ffffffff, -0x7fffffff8, -0x020000000);
	testInt64ShiftL27(0x00000000f, -0x7fffffff8000, -0x000020000);
	testInt64ShiftR4(-0x0ffffffff, -0x7fffffff8000, -0x000020000);
	testInt64ShiftL27(0x000000010, -0xffffffff0000, -0x000010000);
	testInt64ShiftR5(-0x0ffffffff, -0xffffffff0000, -0x000010000);
	testInt64ShiftL27(0x000000011, -0x1fffffffe0000, -0x000008000);
	testInt64ShiftR6(-0x0ffffffff, -0x1fffffffe0000, -0x000008000);
	testInt64ShiftL27(0x00000001f, -0x7fffffff80000000, -0x000000002);
	testInt64ShiftR7(-0x0ffffffff, -0x7fffffff80000000, -0x000000002);
	testInt64ShiftL27(0x000000020, 0x100000000, -0x000000001);
	testInt64ShiftR8(-0x0ffffffff, 0x100000000, -0x000000001);
	testInt64ShiftL27(0x000000021, 0x200000000, -0x000000001);
	testInt64ShiftR9(-0x0ffffffff, 0x200000000, -0x000000001);
	testInt64ShiftL27(0x00000003d, 0x2000000000000000, -0x000000001);
	testInt64ShiftR10(-0x0ffffffff, 0x2000000000000000, -0x000000001);
	testInt64ShiftL27(0x00000003e, 0x4000000000000000, -0x000000001);
	testInt64ShiftR11(-0x0ffffffff, 0x4000000000000000, -0x000000001);
	testInt64ShiftL27(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x0ffffffff, -0x8000000000000000, -0x000000001);
	testInt64ShiftL27(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL27(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x0ffffffff, 0x000000000, -0x000000001);
}
func test83() {
	testInt64BinaryL28(0x000000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, -0x200000000, false);
	testInt64BinaryR0(-0x200000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x200000000, -0x200000000, -0x200000000, false);
	testInt64BinaryL28(0x000000001, -0x1ffffffff, -0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x000000000, -0x1ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64BinaryR1(-0x200000000, -0x1ffffffff, -0x200000001, -0x200000000, -0x200000000, 0x000000000, 0x000000000, -0x1ffffffff, -0x1ffffffff, -0x200000000, true);
	testInt64BinaryL28(0x000000002, -0x1fffffffe, -0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x000000000, -0x1fffffffe, -0x1fffffffe, -0x200000000, true);
	testInt64BinaryR2(-0x200000000, -0x1fffffffe, -0x200000002, -0x400000000, -0x100000000, 0x000000000, 0x000000000, -0x1fffffffe, -0x1fffffffe, -0x200000000, true);
	testInt64BinaryL28(0x000000003, -0x1fffffffd, -0x200000003, -0x600000000, -0x0aaaaaaaa, -0x000000002, 0x000000000, -0x1fffffffd, -0x1fffffffd, -0x200000000, true);
	testInt64BinaryR3(-0x200000000, -0x1fffffffd, -0x200000003, -0x600000000, -0x0aaaaaaaa, -0x000000002, 0x000000000, -0x1fffffffd, -0x1fffffffd, -0x200000000, true);
	testInt64BinaryL28(0x000000064, -0x1ffffff9c, -0x200000064, -0xc800000000, -0x0051eb851, -0x00000005c, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, -0x200000000, true);
	testInt64BinaryR4(-0x200000000, -0x1ffffff9c, -0x200000064, -0xc800000000, -0x0051eb851, -0x00000005c, 0x000000000, -0x1ffffff9c, -0x1ffffff9c, -0x200000000, true);
	testInt64BinaryL28(0x000002711, -0x1ffffd8ef, -0x200002711, -0x4e2200000000, -0x0000d1b1b, -0x000001635, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, -0x200000000, true);
	testInt64BinaryR5(-0x200000000, -0x1ffffd8ef, -0x200002711, -0x4e2200000000, -0x0000d1b1b, -0x000001635, 0x000000000, -0x1ffffd8ef, -0x1ffffd8ef, -0x200000000, true);
	testInt64BinaryL28(0x07fffffff, -0x180000001, -0x27fffffff, 0x200000000, -0x000000004, -0x000000004, 0x000000000, -0x180000001, -0x180000001, -0x200000000, true);
	testInt64BinaryR6(-0x200000000, -0x180000001, -0x27fffffff, 0x200000000, -0x000000004, -0x000000004, 0x000000000, -0x180000001, -0x180000001, -0x200000000, true);
	testInt64BinaryL28(0x080000000, -0x180000000, -0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x000000000, -0x180000000, -0x180000000, -0x200000000, true);
	testInt64BinaryR7(-0x200000000, -0x180000000, -0x280000000, 0x000000000, -0x000000004, 0x000000000, 0x000000000, -0x180000000, -0x180000000, -0x200000000, true);
	testInt64BinaryL28(0x080000001, -0x17fffffff, -0x280000001, -0x200000000, -0x000000003, -0x07ffffffd, 0x000000000, -0x17fffffff, -0x17fffffff, -0x200000000, true);
	testInt64BinaryR8(-0x200000000, -0x17fffffff, -0x280000001, -0x200000000, -0x000000003, -0x07ffffffd, 0x000000000, -0x17fffffff, -0x17fffffff, -0x200000000, true);
	testInt64BinaryL28(0x0c0000000, -0x140000000, -0x2c0000000, -0x8000000000000000, -0x000000002, -0x080000000, 0x000000000, -0x140000000, -0x140000000, -0x200000000, true);
	testInt64BinaryR9(-0x200000000, -0x140000000, -0x2c0000000, -0x8000000000000000, -0x000000002, -0x080000000, 0x000000000, -0x140000000, -0x140000000, -0x200000000, true);
	testInt64BinaryL28(0x0ffffffff, -0x100000001, -0x2ffffffff, 0x200000000, -0x000000002, -0x000000002, 0x000000000, -0x100000001, -0x100000001, -0x200000000, true);
	testInt64BinaryR10(-0x200000000, -0x100000001, -0x2ffffffff, 0x200000000, -0x000000002, -0x000000002, 0x000000000, -0x100000001, -0x100000001, -0x200000000, true);
	testInt64BinaryL28(0x100000000, -0x100000000, -0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x200000000, true);
	testInt64BinaryR11(-0x200000000, -0x100000000, -0x300000000, 0x000000000, -0x000000002, 0x000000000, 0x000000000, -0x100000000, -0x100000000, -0x200000000, true);
	testInt64BinaryL28(0x100000001, -0x0ffffffff, -0x300000001, -0x200000000, -0x000000001, -0x0ffffffff, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x200000000, true);
	testInt64BinaryR12(-0x200000000, -0x0ffffffff, -0x300000001, -0x200000000, -0x000000001, -0x0ffffffff, 0x000000000, -0x0ffffffff, -0x0ffffffff, -0x200000000, true);
	testInt64BinaryL28(0x200000000, 0x000000000, -0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, -0x400000000, true);
	testInt64BinaryR13(-0x200000000, 0x000000000, -0x400000000, 0x000000000, -0x000000001, 0x000000000, 0x200000000, -0x200000000, -0x400000000, -0x400000000, true);
	testInt64BinaryL28(0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, -0x8000000000000000, true);
	testInt64BinaryR14(-0x200000000, 0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000002710, -0x7ffffffe00002710, -0x8000000000000000, true);
	testInt64BinaryL28(0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, -0x8000000000000000, true);
	testInt64BinaryR15(-0x200000000, 0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, 0x000000000, -0x200000000, 0x7ffffffe00000000, -0x000000001, -0x7ffffffe00000001, -0x8000000000000000, true);
	testInt64BinaryL28(0x789abcdef0123456, 0x789abcdcf0123456, -0x789abce0f0123456, 0x1fdb975400000000, 0x000000000, -0x200000000, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, -0x789abce000000000, true);
	testInt64BinaryR16(-0x200000000, 0x789abcdcf0123456, -0x789abce0f0123456, 0x1fdb975400000000, 0x000000000, -0x200000000, 0x789abcde00000000, -0x10fedcbaa, -0x789abcdf0fedcbaa, -0x789abce000000000, true);
	testInt64BinaryL28(-0x000000001, -0x200000001, -0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, -0x200000000, -0x000000001, 0x1ffffffff, 0x000000000, true);
	testInt64BinaryR17(-0x200000000, -0x200000001, -0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, -0x200000000, -0x000000001, 0x1ffffffff, 0x000000000, true);
	testInt64BinaryL28(-0x000000002, -0x200000002, -0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, -0x200000000, -0x000000002, 0x1fffffffe, 0x000000000, true);
	testInt64BinaryR18(-0x200000000, -0x200000002, -0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, -0x200000000, -0x000000002, 0x1fffffffe, 0x000000000, true);
	testInt64BinaryL28(-0x000000003, -0x200000003, -0x1fffffffd, 0x600000000, 0x0aaaaaaaa, -0x000000002, -0x200000000, -0x000000003, 0x1fffffffd, 0x000000000, true);
	testInt64BinaryR19(-0x200000000, -0x200000003, -0x1fffffffd, 0x600000000, 0x0aaaaaaaa, -0x000000002, -0x200000000, -0x000000003, 0x1fffffffd, 0x000000000, true);
	testInt64BinaryL28(-0x000000064, -0x200000064, -0x1ffffff9c, 0xc800000000, 0x0051eb851, -0x00000005c, -0x200000000, -0x000000064, 0x1ffffff9c, 0x000000000, true);
	testInt64BinaryR20(-0x200000000, -0x200000064, -0x1ffffff9c, 0xc800000000, 0x0051eb851, -0x00000005c, -0x200000000, -0x000000064, 0x1ffffff9c, 0x000000000, true);
	testInt64BinaryL28(-0x000002711, -0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, -0x000001635, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x000000000, true);
	testInt64BinaryR21(-0x200000000, -0x200002711, -0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, -0x000001635, -0x200000000, -0x000002711, 0x1ffffd8ef, 0x000000000, true);
	testInt64BinaryL28(-0x07fffffff, -0x27fffffff, -0x180000001, -0x200000000, 0x000000004, -0x000000004, -0x200000000, -0x07fffffff, 0x180000001, 0x000000000, true);
	testInt64BinaryR22(-0x200000000, -0x27fffffff, -0x180000001, -0x200000000, 0x000000004, -0x000000004, -0x200000000, -0x07fffffff, 0x180000001, 0x000000000, true);
	testInt64BinaryL28(-0x080000000, -0x280000000, -0x180000000, 0x000000000, 0x000000004, 0x000000000, -0x200000000, -0x080000000, 0x180000000, 0x000000000, true);
	testInt64BinaryR23(-0x200000000, -0x280000000, -0x180000000, 0x000000000, 0x000000004, 0x000000000, -0x200000000, -0x080000000, 0x180000000, 0x000000000, true);
	testInt64BinaryL28(-0x080000001, -0x280000001, -0x17fffffff, 0x200000000, 0x000000003, -0x07ffffffd, -0x200000000, -0x080000001, 0x17fffffff, 0x000000000, true);
	testInt64BinaryR24(-0x200000000, -0x280000001, -0x17fffffff, 0x200000000, 0x000000003, -0x07ffffffd, -0x200000000, -0x080000001, 0x17fffffff, 0x000000000, true);
	testInt64BinaryL28(-0x0c0000000, -0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000002, -0x080000000, -0x200000000, -0x0c0000000, 0x140000000, 0x000000000, true);
	testInt64BinaryR25(-0x200000000, -0x2c0000000, -0x140000000, -0x8000000000000000, 0x000000002, -0x080000000, -0x200000000, -0x0c0000000, 0x140000000, 0x000000000, true);
	testInt64BinaryL28(-0x100000000, -0x300000000, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x200000000, -0x100000000, 0x100000000, 0x000000000, true);
	testInt64BinaryR26(-0x200000000, -0x300000000, -0x100000000, 0x000000000, 0x000000002, 0x000000000, -0x200000000, -0x100000000, 0x100000000, 0x000000000, true);
	testInt64BinaryL28(-0x0ffffffff, -0x2ffffffff, -0x100000001, -0x200000000, 0x000000002, -0x000000002, -0x200000000, -0x0ffffffff, 0x100000001, 0x000000000, true);
	testInt64BinaryR27(-0x200000000, -0x2ffffffff, -0x100000001, -0x200000000, 0x000000002, -0x000000002, -0x200000000, -0x0ffffffff, 0x100000001, 0x000000000, true);
	testInt64BinaryL28(-0x200000000, -0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR28(-0x200000000, -0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x200000000, -0x200000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL28(-0x7fffffffffffd8f0, 0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x7ffffffe00000000, true);
	testInt64BinaryR29(-0x200000000, 0x7ffffffe00002710, 0x7ffffffdffffd8f0, -0x4e2000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x7ffffffe00000000, true);
	testInt64BinaryL28(-0x7fffffffffffffff, 0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x7ffffffe00000000, true);
	testInt64BinaryR30(-0x200000000, 0x7ffffffe00000001, 0x7ffffffdffffffff, -0x200000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x7ffffffe00000000, true);
	testInt64BinaryL28(-0x8000000000000000, 0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x7ffffffe00000000, true);
	testInt64BinaryR31(-0x200000000, 0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, 0x000000000, -0x200000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x7ffffffe00000000, true);
	testInt64BinaryL28(-0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, 0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x000000000, -0x200000000, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x789abcdc00000000, true);
	testInt64BinaryR32(-0x200000000, -0x789abcdf0fedcbaa, 0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x000000000, -0x200000000, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x789abcdc00000000, true);
	testInt64ShiftL28(0x000000000, -0x200000000, -0x200000000);
	testInt64ShiftR0(-0x200000000, -0x200000000, -0x200000000);
	testInt64ShiftL28(0x000000001, -0x400000000, -0x100000000);
	testInt64ShiftR1(-0x200000000, -0x400000000, -0x100000000);
	testInt64ShiftL28(0x000000002, -0x800000000, -0x080000000);
	testInt64ShiftR2(-0x200000000, -0x800000000, -0x080000000);
	testInt64ShiftL28(0x000000003, -0x1000000000, -0x040000000);
	testInt64ShiftR3(-0x200000000, -0x1000000000, -0x040000000);
	testInt64ShiftL28(0x00000000f, -0x1000000000000, -0x000040000);
	testInt64ShiftR4(-0x200000000, -0x1000000000000, -0x000040000);
	testInt64ShiftL28(0x000000010, -0x2000000000000, -0x000020000);
	testInt64ShiftR5(-0x200000000, -0x2000000000000, -0x000020000);
	testInt64ShiftL28(0x000000011, -0x4000000000000, -0x000010000);
	testInt64ShiftR6(-0x200000000, -0x4000000000000, -0x000010000);
	testInt64ShiftL28(0x00000001f, 0x000000000, -0x000000004);
	testInt64ShiftR7(-0x200000000, 0x000000000, -0x000000004);
	testInt64ShiftL28(0x000000020, 0x000000000, -0x000000002);
	testInt64ShiftR8(-0x200000000, 0x000000000, -0x000000002);
	testInt64ShiftL28(0x000000021, 0x000000000, -0x000000001);
	testInt64ShiftR9(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x00000003d, 0x000000000, -0x000000001);
	testInt64ShiftR10(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x00000003e, 0x000000000, -0x000000001);
	testInt64ShiftR11(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x200000000, 0x000000000, -0x000000001);
	testInt64ShiftL28(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x200000000, 0x000000000, -0x000000001);
}
func test84() {
	testInt64BinaryL29(0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, false);
	testInt64BinaryR0(-0x7fffffffffffd8f0, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, false);
	testInt64BinaryL29(0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryR1(-0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x7fffffffffffd8f1, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x000000002, -0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, true);
	testInt64BinaryR2(-0x7fffffffffffd8f0, -0x7fffffffffffd8ee, -0x7fffffffffffd8f2, 0x000004e20, -0x3fffffffffffec78, 0x000000000, 0x000000000, -0x7fffffffffffd8ee, -0x7fffffffffffd8ee, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x000000003, -0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, -0x000000001, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, -0x7fffffffffffd8f0, true);
	testInt64BinaryR3(-0x7fffffffffffd8f0, -0x7fffffffffffd8ed, -0x7fffffffffffd8f3, -0x7fffffffffff8ad0, -0x2aaaaaaaaaaa9da5, -0x000000001, 0x000000000, -0x7fffffffffffd8ed, -0x7fffffffffffd8ed, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x000000064, -0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, -0x000000008, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, -0x7fffffffffffd8f0, true);
	testInt64BinaryR4(-0x7fffffffffffd8f0, -0x7fffffffffffd88c, -0x7fffffffffffd954, 0x0000f4240, -0x147ae147ae1474a, -0x000000008, 0x000000000, -0x7fffffffffffd88c, -0x7fffffffffffd88c, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x000002711, -0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, -0x00000203b, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryR5(-0x7fffffffffffd8f0, -0x7fffffffffffb1df, 0x7fffffffffffffff, -0x7ffffffffa09f7f0, -0x346c6e4615f65, -0x00000203b, 0x000002710, -0x7fffffffffffd8ef, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryL29(0x07fffffff, -0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, -0x07fffd8f1, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, -0x8000000000000000, true);
	testInt64BinaryR6(-0x7fffffffffffd8f0, -0x7fffffff7fffd8f1, 0x7fffffff80002711, -0x7fffec7800002710, -0x100000001, -0x07fffd8f1, 0x000002710, -0x7fffffff80000001, -0x7fffffff80002711, -0x8000000000000000, true);
	testInt64BinaryL29(0x080000000, -0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, -0x0ffffffff, -0x07fffd8f0, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryR7(-0x7fffffffffffd8f0, -0x7fffffff7fffd8f0, 0x7fffffff80002710, 0x138800000000, -0x0ffffffff, -0x07fffd8f0, 0x000000000, -0x7fffffff7fffd8f0, -0x7fffffff7fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x080000001, -0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, -0x07fffd8f3, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryR8(-0x7fffffffffffd8f0, -0x7fffffff7fffd8ef, 0x7fffffff8000270f, -0x7fffec77ffffd8f0, -0x0fffffffd, -0x07fffd8f3, 0x000000000, -0x7fffffff7fffd8ef, -0x7fffffff7fffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x0c0000000, -0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, -0x07fffd8f0, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryR9(-0x7fffffffffffd8f0, -0x7fffffff3fffd8f0, 0x7fffffff40002710, 0x1d4c00000000, -0x0aaaaaaaa, -0x07fffd8f0, 0x000000000, -0x7fffffff3fffd8f0, -0x7fffffff3fffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x0ffffffff, -0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, -0x07fffd8f0, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, -0x8000000000000000, true);
	testInt64BinaryR10(-0x7fffffffffffd8f0, -0x7ffffffeffffd8f1, 0x7fffffff00002711, -0x7fffd8f000002710, -0x080000000, -0x07fffd8f0, 0x000002710, -0x7fffffff00000001, -0x7fffffff00002711, -0x8000000000000000, true);
	testInt64BinaryL29(0x100000000, -0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, -0x07fffffff, -0x0ffffd8f0, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryR11(-0x7fffffffffffd8f0, -0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, -0x07fffffff, -0x0ffffd8f0, 0x000000000, -0x7ffffffeffffd8f0, -0x7ffffffeffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x100000001, -0x7ffffffeffffd8ef, 0x7fffffff0000270f, -0x7fffd8efffffd8f0, -0x07fffffff, -0x07fffd8f1, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryR12(-0x7fffffffffffd8f0, -0x7ffffffeffffd8ef, 0x7fffffff0000270f, -0x7fffd8efffffd8f0, -0x07fffffff, -0x07fffd8f1, 0x000000000, -0x7ffffffeffffd8ef, -0x7ffffffeffffd8ef, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x200000000, -0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, -0x1ffffd8f0, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryR13(-0x7fffffffffffd8f0, -0x7ffffffdffffd8f0, 0x7ffffffe00002710, 0x4e2000000000, -0x03fffffff, -0x1ffffd8f0, 0x000000000, -0x7ffffffdffffd8f0, -0x7ffffffdffffd8f0, -0x7fffffffffffd8f0, true);
	testInt64BinaryL29(0x7fffffffffffd8f0, 0x000000000, 0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, -0x7fffffffffffd900, true);
	testInt64BinaryR14(-0x7fffffffffffd8f0, 0x000000000, 0x000004e20, -0x005f5e100, -0x000000001, 0x000000000, 0x000000010, -0x000000010, -0x000000020, -0x7fffffffffffd900, true);
	testInt64BinaryL29(0x7fffffffffffffff, 0x00000270f, 0x000002711, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, 0x000002710, -0x000000001, -0x000002711, -0x8000000000000000, true);
	testInt64BinaryR15(-0x7fffffffffffd8f0, 0x00000270f, 0x000002711, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, 0x000002710, -0x000000001, -0x000002711, -0x8000000000000000, true);
	testInt64BinaryL29(0x789abcdef0123456, -0x76543210feda49a, 0x76543210fedf2ba, 0x1c71c481c71c5f60, -0x000000001, -0x76543210feda49a, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, -0x7ffffffffffffd00, true);
	testInt64BinaryR16(-0x7fffffffffffd8f0, -0x76543210feda49a, 0x76543210fedf2ba, 0x1c71c481c71c5f60, -0x000000001, -0x76543210feda49a, 0x000002410, -0x76543210fedc8aa, -0x76543210fedecba, -0x7ffffffffffffd00, true);
	testInt64BinaryL29(-0x000000001, -0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64BinaryR17(-0x7fffffffffffd8f0, -0x7fffffffffffd8f1, -0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x000000001, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64BinaryL29(-0x000000002, -0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryR18(-0x7fffffffffffd8f0, -0x7fffffffffffd8f2, -0x7fffffffffffd8ee, -0x000004e20, 0x3fffffffffffec78, 0x000000000, -0x7fffffffffffd8f0, -0x000000002, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryL29(-0x000000003, -0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, -0x000000001, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x000000000, true);
	testInt64BinaryR19(-0x7fffffffffffd8f0, -0x7fffffffffffd8f3, -0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, -0x000000001, -0x7fffffffffffd8f0, -0x000000003, 0x7fffffffffffd8ed, 0x000000000, true);
	testInt64BinaryL29(-0x000000064, -0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, -0x000000008, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x000000000, true);
	testInt64BinaryR20(-0x7fffffffffffd8f0, -0x7fffffffffffd954, -0x7fffffffffffd88c, -0x0000f4240, 0x147ae147ae1474a, -0x000000008, -0x7fffffffffffd8f0, -0x000000064, 0x7fffffffffffd88c, 0x000000000, true);
	testInt64BinaryL29(-0x000002711, 0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, -0x00000203b, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000002710, true);
	testInt64BinaryR21(-0x7fffffffffffd8f0, 0x7fffffffffffffff, -0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, -0x00000203b, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000002710, true);
	testInt64BinaryL29(-0x07fffffff, 0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, -0x07fffd8f1, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x000002710, true);
	testInt64BinaryR22(-0x7fffffffffffd8f0, 0x7fffffff80002711, -0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, -0x07fffd8f1, -0x8000000000000000, -0x07fffd8ef, 0x7fffffff80002711, 0x000002710, true);
	testInt64BinaryL29(-0x080000000, 0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, -0x07fffd8f0, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x000002710, true);
	testInt64BinaryR23(-0x7fffffffffffd8f0, 0x7fffffff80002710, -0x7fffffff7fffd8f0, -0x138800000000, 0x0ffffffff, -0x07fffd8f0, -0x8000000000000000, -0x07fffd8f0, 0x7fffffff80002710, 0x000002710, true);
	testInt64BinaryL29(-0x080000001, 0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, -0x07fffd8f3, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x000000000, true);
	testInt64BinaryR24(-0x7fffffffffffd8f0, 0x7fffffff8000270f, -0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, -0x07fffd8f3, -0x7fffffffffffd8f0, -0x080000001, 0x7fffffff7fffd8ef, 0x000000000, true);
	testInt64BinaryL29(-0x0c0000000, 0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, -0x07fffd8f0, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x000002710, true);
	testInt64BinaryR25(-0x7fffffffffffd8f0, 0x7fffffff40002710, -0x7fffffff3fffd8f0, -0x1d4c00000000, 0x0aaaaaaaa, -0x07fffd8f0, -0x8000000000000000, -0x0bfffd8f0, 0x7fffffff40002710, 0x000002710, true);
	testInt64BinaryL29(-0x100000000, 0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, -0x0ffffd8f0, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x000002710, true);
	testInt64BinaryR26(-0x7fffffffffffd8f0, 0x7fffffff00002710, -0x7ffffffeffffd8f0, -0x271000000000, 0x07fffffff, -0x0ffffd8f0, -0x8000000000000000, -0x0ffffd8f0, 0x7fffffff00002710, 0x000002710, true);
	testInt64BinaryL29(-0x0ffffffff, 0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, -0x07fffd8f0, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x000002710, true);
	testInt64BinaryR27(-0x7fffffffffffd8f0, 0x7fffffff00002711, -0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, -0x07fffd8f0, -0x8000000000000000, -0x0ffffd8ef, 0x7fffffff00002711, 0x000002710, true);
	testInt64BinaryL29(-0x200000000, 0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, -0x1ffffd8f0, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x000002710, true);
	testInt64BinaryR28(-0x7fffffffffffd8f0, 0x7ffffffe00002710, -0x7ffffffdffffd8f0, -0x4e2000000000, 0x03fffffff, -0x1ffffd8f0, -0x8000000000000000, -0x1ffffd8f0, 0x7ffffffe00002710, 0x000002710, true);
	testInt64BinaryL29(-0x7fffffffffffd8f0, 0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64BinaryR29(-0x7fffffffffffd8f0, 0x000004e20, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testInt64BinaryL29(-0x7fffffffffffffff, 0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000002710, true);
	testInt64BinaryR30(-0x7fffffffffffd8f0, 0x000002711, 0x00000270f, -0x7fffffffffffd8f0, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000002710, true);
	testInt64BinaryL29(-0x8000000000000000, 0x000002710, 0x000002710, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000002710, true);
	testInt64BinaryR31(-0x7fffffffffffd8f0, 0x000002710, 0x000002710, 0x000000000, 0x000000000, -0x7fffffffffffd8f0, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000002710, true);
	testInt64BinaryL29(-0x789abcdd0fedcbaa, 0x7654322f0125b66, -0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000001, -0x7654322f0120d46, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x000000300, true);
	testInt64BinaryR32(-0x7fffffffffffd8f0, 0x7654322f0125b66, -0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000001, -0x7654322f0120d46, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x000000300, true);
	testInt64ShiftL29(0x000000000, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0);
	testInt64ShiftR0(-0x7fffffffffffd8f0, -0x7fffffffffffd8f0, -0x7fffffffffffd8f0);
	testInt64ShiftL29(0x000000001, 0x000004e20, -0x3fffffffffffec78);
	testInt64ShiftR1(-0x7fffffffffffd8f0, 0x000004e20, -0x3fffffffffffec78);
	testInt64ShiftL29(0x000000002, 0x000009c40, -0x1ffffffffffff63c);
	testInt64ShiftR2(-0x7fffffffffffd8f0, 0x000009c40, -0x1ffffffffffff63c);
	testInt64ShiftL29(0x000000003, 0x000013880, -0xffffffffffffb1e);
	testInt64ShiftR3(-0x7fffffffffffd8f0, 0x000013880, -0xffffffffffffb1e);
	testInt64ShiftL29(0x00000000f, 0x013880000, -0x1000000000000);
	testInt64ShiftR4(-0x7fffffffffffd8f0, 0x013880000, -0x1000000000000);
	testInt64ShiftL29(0x000000010, 0x027100000, -0x800000000000);
	testInt64ShiftR5(-0x7fffffffffffd8f0, 0x027100000, -0x800000000000);
	testInt64ShiftL29(0x000000011, 0x04e200000, -0x400000000000);
	testInt64ShiftR6(-0x7fffffffffffd8f0, 0x04e200000, -0x400000000000);
	testInt64ShiftL29(0x00000001f, 0x138800000000, -0x100000000);
	testInt64ShiftR7(-0x7fffffffffffd8f0, 0x138800000000, -0x100000000);
	testInt64ShiftL29(0x000000020, 0x271000000000, -0x080000000);
	testInt64ShiftR8(-0x7fffffffffffd8f0, 0x271000000000, -0x080000000);
	testInt64ShiftL29(0x000000021, 0x4e2000000000, -0x040000000);
	testInt64ShiftR9(-0x7fffffffffffd8f0, 0x4e2000000000, -0x040000000);
	testInt64ShiftL29(0x00000003d, 0x000000000, -0x000000004);
	testInt64ShiftR10(-0x7fffffffffffd8f0, 0x000000000, -0x000000004);
	testInt64ShiftL29(0x00000003e, 0x000000000, -0x000000002);
	testInt64ShiftR11(-0x7fffffffffffd8f0, 0x000000000, -0x000000002);
	testInt64ShiftL29(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
	testInt64ShiftL29(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x7fffffffffffd8f0, 0x000000000, -0x000000001);
}
func test85() {
	testInt64BinaryL30(0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x7fffffffffffffff, false);
	testInt64BinaryR0(-0x7fffffffffffffff, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x7fffffffffffffff, false);
	testInt64BinaryL30(0x000000001, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, true);
	testInt64BinaryR1(-0x7fffffffffffffff, -0x7ffffffffffffffe, -0x8000000000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000001, -0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, true);
	testInt64BinaryL30(0x000000002, -0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, -0x000000001, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x7fffffffffffffff, true);
	testInt64BinaryR2(-0x7fffffffffffffff, -0x7ffffffffffffffd, 0x7fffffffffffffff, 0x000000002, -0x3fffffffffffffff, -0x000000001, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x000000003, -0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, -0x000000001, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryR3(-0x7fffffffffffffff, -0x7ffffffffffffffc, 0x7ffffffffffffffe, -0x7ffffffffffffffd, -0x2aaaaaaaaaaaaaaa, -0x000000001, 0x000000001, -0x7ffffffffffffffd, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryL30(0x000000064, -0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, -0x000000007, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, -0x7fffffffffffffff, true);
	testInt64BinaryR4(-0x7fffffffffffffff, -0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, -0x147ae147ae147ae, -0x000000007, 0x000000000, -0x7fffffffffffff9b, -0x7fffffffffffff9b, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x000002711, -0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, -0x000002039, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64BinaryR5(-0x7fffffffffffffff, -0x7fffffffffffd8ee, 0x7fffffffffffd8f0, -0x7fffffffffffd8ef, -0x346c6e4615f66, -0x000002039, 0x000000001, -0x7fffffffffffd8ef, -0x7fffffffffffd8f0, -0x8000000000000000, true);
	testInt64BinaryL30(0x07fffffff, -0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, -0x000000001, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64BinaryR6(-0x7fffffffffffffff, -0x7fffffff80000000, 0x7fffffff80000002, -0x7fffffff80000001, -0x100000002, -0x000000001, 0x000000001, -0x7fffffff80000001, -0x7fffffff80000002, -0x8000000000000000, true);
	testInt64BinaryL30(0x080000000, -0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, -0x0ffffffff, -0x07fffffff, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x7fffffffffffffff, true);
	testInt64BinaryR7(-0x7fffffffffffffff, -0x7fffffff7fffffff, 0x7fffffff80000001, 0x080000000, -0x0ffffffff, -0x07fffffff, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x080000001, -0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, -0x000000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryR8(-0x7fffffffffffffff, -0x7fffffff7ffffffe, 0x7fffffff80000000, -0x7fffffff7fffffff, -0x0fffffffe, -0x000000001, 0x000000001, -0x7fffffff7fffffff, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryL30(0x0c0000000, -0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, -0x07fffffff, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, -0x7fffffffffffffff, true);
	testInt64BinaryR9(-0x7fffffffffffffff, -0x7fffffff3fffffff, 0x7fffffff40000001, 0x0c0000000, -0x0aaaaaaaa, -0x07fffffff, 0x000000000, -0x7fffffff3fffffff, -0x7fffffff3fffffff, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x0ffffffff, -0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, -0x07fffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64BinaryR10(-0x7fffffffffffffff, -0x7fffffff00000000, 0x7fffffff00000002, -0x7fffffff00000001, -0x080000000, -0x07fffffff, 0x000000001, -0x7fffffff00000001, -0x7fffffff00000002, -0x8000000000000000, true);
	testInt64BinaryL30(0x100000000, -0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, -0x07fffffff, -0x0ffffffff, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x7fffffffffffffff, true);
	testInt64BinaryR11(-0x7fffffffffffffff, -0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, -0x07fffffff, -0x0ffffffff, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x100000001, -0x7ffffffefffffffe, 0x7fffffff00000000, -0x7ffffffeffffffff, -0x07fffffff, -0x080000000, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64BinaryR12(-0x7fffffffffffffff, -0x7ffffffefffffffe, 0x7fffffff00000000, -0x7ffffffeffffffff, -0x07fffffff, -0x080000000, 0x000000001, -0x7ffffffeffffffff, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64BinaryL30(0x200000000, -0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, -0x03fffffff, -0x1ffffffff, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, -0x7fffffffffffffff, true);
	testInt64BinaryR13(-0x7fffffffffffffff, -0x7ffffffdffffffff, 0x7ffffffe00000001, 0x200000000, -0x03fffffff, -0x1ffffffff, 0x000000000, -0x7ffffffdffffffff, -0x7ffffffdffffffff, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x7fffffffffffd8f0, -0x00000270f, 0x000002711, 0x7fffffffffffd8f0, -0x000000001, -0x00000270f, 0x000000000, -0x00000270f, -0x00000270f, -0x7fffffffffffffff, true);
	testInt64BinaryR14(-0x7fffffffffffffff, -0x00000270f, 0x000002711, 0x7fffffffffffd8f0, -0x000000001, -0x00000270f, 0x000000000, -0x00000270f, -0x00000270f, -0x7fffffffffffffff, true);
	testInt64BinaryL30(0x7fffffffffffffff, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x8000000000000000, true);
	testInt64BinaryR15(-0x7fffffffffffffff, 0x000000000, 0x000000002, -0x000000001, -0x000000001, 0x000000000, 0x000000001, -0x000000001, -0x000000002, -0x8000000000000000, true);
	testInt64BinaryL30(0x789abcdef0123456, -0x76543210fedcba9, 0x76543210fedcbab, 0x789abcdef0123456, -0x000000001, -0x76543210fedcba9, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, -0x7fffffffffffffff, true);
	testInt64BinaryR16(-0x7fffffffffffffff, -0x76543210fedcba9, 0x76543210fedcbab, 0x789abcdef0123456, -0x000000001, -0x76543210fedcba9, 0x000000000, -0x76543210fedcba9, -0x76543210fedcba9, -0x7fffffffffffffff, true);
	testInt64BinaryL30(-0x000000001, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryR17(-0x7fffffffffffffff, -0x8000000000000000, -0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, -0x7fffffffffffffff, -0x000000001, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryL30(-0x000000002, 0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryR18(-0x7fffffffffffffff, 0x7fffffffffffffff, -0x7ffffffffffffffd, -0x000000002, 0x3fffffffffffffff, -0x000000001, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000001, true);
	testInt64BinaryL30(-0x000000003, 0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, -0x000000001, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64BinaryR19(-0x7fffffffffffffff, 0x7ffffffffffffffe, -0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, -0x000000001, -0x7fffffffffffffff, -0x000000003, 0x7ffffffffffffffc, 0x000000000, true);
	testInt64BinaryL30(-0x000000064, 0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, -0x000000007, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x000000001, true);
	testInt64BinaryR20(-0x7fffffffffffffff, 0x7fffffffffffff9d, -0x7fffffffffffff9b, -0x000000064, 0x147ae147ae147ae, -0x000000007, -0x8000000000000000, -0x000000063, 0x7fffffffffffff9d, 0x000000001, true);
	testInt64BinaryL30(-0x000002711, 0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, -0x000002039, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryR21(-0x7fffffffffffffff, 0x7fffffffffffd8f0, -0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, -0x000002039, -0x7fffffffffffffff, -0x000002711, 0x7fffffffffffd8ee, 0x000000000, true);
	testInt64BinaryL30(-0x07fffffff, 0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, -0x000000001, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryR22(-0x7fffffffffffffff, 0x7fffffff80000002, -0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, -0x000000001, -0x7fffffffffffffff, -0x07fffffff, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryL30(-0x080000000, 0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000001, true);
	testInt64BinaryR23(-0x7fffffffffffffff, 0x7fffffff80000001, -0x7fffffff7fffffff, -0x080000000, 0x0ffffffff, -0x07fffffff, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000001, true);
	testInt64BinaryL30(-0x080000001, 0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, -0x000000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64BinaryR24(-0x7fffffffffffffff, 0x7fffffff80000000, -0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, -0x000000001, -0x7fffffffffffffff, -0x080000001, 0x7fffffff7ffffffe, 0x000000000, true);
	testInt64BinaryL30(-0x0c0000000, 0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, -0x07fffffff, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x000000001, true);
	testInt64BinaryR25(-0x7fffffffffffffff, 0x7fffffff40000001, -0x7fffffff3fffffff, -0x0c0000000, 0x0aaaaaaaa, -0x07fffffff, -0x8000000000000000, -0x0bfffffff, 0x7fffffff40000001, 0x000000001, true);
	testInt64BinaryL30(-0x100000000, 0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x07fffffff, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000001, true);
	testInt64BinaryR26(-0x7fffffffffffffff, 0x7fffffff00000001, -0x7ffffffeffffffff, -0x100000000, 0x07fffffff, -0x0ffffffff, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000001, true);
	testInt64BinaryL30(-0x0ffffffff, 0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, -0x07fffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryR27(-0x7fffffffffffffff, 0x7fffffff00000002, -0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, -0x07fffffff, -0x7fffffffffffffff, -0x0ffffffff, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryL30(-0x200000000, 0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x03fffffff, -0x1ffffffff, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x000000001, true);
	testInt64BinaryR28(-0x7fffffffffffffff, 0x7ffffffe00000001, -0x7ffffffdffffffff, -0x200000000, 0x03fffffff, -0x1ffffffff, -0x8000000000000000, -0x1ffffffff, 0x7ffffffe00000001, 0x000000001, true);
	testInt64BinaryL30(-0x7fffffffffffd8f0, 0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000001, -0x00000270f, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000000001, true);
	testInt64BinaryR29(-0x7fffffffffffffff, 0x000002711, -0x00000270f, -0x7fffffffffffd8f0, 0x000000001, -0x00000270f, -0x8000000000000000, -0x7fffffffffffd8ef, 0x000002711, 0x000000001, true);
	testInt64BinaryL30(-0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryR30(-0x7fffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testInt64BinaryL30(-0x8000000000000000, 0x000000001, 0x000000001, -0x8000000000000000, 0x000000000, -0x7fffffffffffffff, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryR31(-0x7fffffffffffffff, 0x000000001, 0x000000001, -0x8000000000000000, 0x000000000, -0x7fffffffffffffff, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000001, true);
	testInt64BinaryL30(-0x789abcdd0fedcbaa, 0x7654322f0123457, -0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000001, -0x7654322f0123455, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x000000001, true);
	testInt64BinaryR32(-0x7fffffffffffffff, 0x7654322f0123457, -0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000001, -0x7654322f0123455, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x000000001, true);
	testInt64ShiftL30(0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff);
	testInt64ShiftR0(-0x7fffffffffffffff, -0x7fffffffffffffff, -0x7fffffffffffffff);
	testInt64ShiftL30(0x000000001, 0x000000002, -0x4000000000000000);
	testInt64ShiftR1(-0x7fffffffffffffff, 0x000000002, -0x4000000000000000);
	testInt64ShiftL30(0x000000002, 0x000000004, -0x2000000000000000);
	testInt64ShiftR2(-0x7fffffffffffffff, 0x000000004, -0x2000000000000000);
	testInt64ShiftL30(0x000000003, 0x000000008, -0x1000000000000000);
	testInt64ShiftR3(-0x7fffffffffffffff, 0x000000008, -0x1000000000000000);
	testInt64ShiftL30(0x00000000f, 0x000008000, -0x1000000000000);
	testInt64ShiftR4(-0x7fffffffffffffff, 0x000008000, -0x1000000000000);
	testInt64ShiftL30(0x000000010, 0x000010000, -0x800000000000);
	testInt64ShiftR5(-0x7fffffffffffffff, 0x000010000, -0x800000000000);
	testInt64ShiftL30(0x000000011, 0x000020000, -0x400000000000);
	testInt64ShiftR6(-0x7fffffffffffffff, 0x000020000, -0x400000000000);
	testInt64ShiftL30(0x00000001f, 0x080000000, -0x100000000);
	testInt64ShiftR7(-0x7fffffffffffffff, 0x080000000, -0x100000000);
	testInt64ShiftL30(0x000000020, 0x100000000, -0x080000000);
	testInt64ShiftR8(-0x7fffffffffffffff, 0x100000000, -0x080000000);
	testInt64ShiftL30(0x000000021, 0x200000000, -0x040000000);
	testInt64ShiftR9(-0x7fffffffffffffff, 0x200000000, -0x040000000);
	testInt64ShiftL30(0x00000003d, 0x2000000000000000, -0x000000004);
	testInt64ShiftR10(-0x7fffffffffffffff, 0x2000000000000000, -0x000000004);
	testInt64ShiftL30(0x00000003e, 0x4000000000000000, -0x000000002);
	testInt64ShiftR11(-0x7fffffffffffffff, 0x4000000000000000, -0x000000002);
	testInt64ShiftL30(0x00000003f, -0x8000000000000000, -0x000000001);
	testInt64ShiftR12(-0x7fffffffffffffff, -0x8000000000000000, -0x000000001);
	testInt64ShiftL30(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x7fffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftL30(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x7fffffffffffffff, 0x000000000, -0x000000001);
}
func test86() {
	testInt64BinaryL31(0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, -0x8000000000000000, false);
	testInt64BinaryR0(-0x8000000000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x8000000000000000, -0x8000000000000000, false);
	testInt64BinaryL31(0x000000001, -0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryR1(-0x8000000000000000, -0x7fffffffffffffff, 0x7fffffffffffffff, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, -0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, true);
	testInt64BinaryL31(0x000000002, -0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, -0x4000000000000000, 0x000000000, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryR2(-0x8000000000000000, -0x7ffffffffffffffe, 0x7ffffffffffffffe, 0x000000000, -0x4000000000000000, 0x000000000, 0x000000000, -0x7ffffffffffffffe, -0x7ffffffffffffffe, -0x8000000000000000, true);
	testInt64BinaryL31(0x000000003, -0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, -0x2aaaaaaaaaaaaaaa, -0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, true);
	testInt64BinaryR3(-0x8000000000000000, -0x7ffffffffffffffd, 0x7ffffffffffffffd, -0x8000000000000000, -0x2aaaaaaaaaaaaaaa, -0x000000002, 0x000000000, -0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, true);
	testInt64BinaryL31(0x000000064, -0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, -0x147ae147ae147ae, -0x000000008, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, -0x8000000000000000, true);
	testInt64BinaryR4(-0x8000000000000000, -0x7fffffffffffff9c, 0x7fffffffffffff9c, 0x000000000, -0x147ae147ae147ae, -0x000000008, 0x000000000, -0x7fffffffffffff9c, -0x7fffffffffffff9c, -0x8000000000000000, true);
	testInt64BinaryL31(0x000002711, -0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, -0x346c6e4615f66, -0x00000203a, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, true);
	testInt64BinaryR5(-0x8000000000000000, -0x7fffffffffffd8ef, 0x7fffffffffffd8ef, -0x8000000000000000, -0x346c6e4615f66, -0x00000203a, 0x000000000, -0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, true);
	testInt64BinaryL31(0x07fffffff, -0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, -0x100000002, -0x000000002, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64BinaryR6(-0x8000000000000000, -0x7fffffff80000001, 0x7fffffff80000001, -0x8000000000000000, -0x100000002, -0x000000002, 0x000000000, -0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, true);
	testInt64BinaryL31(0x080000000, -0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, -0x100000000, 0x000000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryR7(-0x8000000000000000, -0x7fffffff80000000, 0x7fffffff80000000, 0x000000000, -0x100000000, 0x000000000, 0x000000000, -0x7fffffff80000000, -0x7fffffff80000000, -0x8000000000000000, true);
	testInt64BinaryL31(0x080000001, -0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, -0x0fffffffe, -0x000000002, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, true);
	testInt64BinaryR8(-0x8000000000000000, -0x7fffffff7fffffff, 0x7fffffff7fffffff, -0x8000000000000000, -0x0fffffffe, -0x000000002, 0x000000000, -0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, true);
	testInt64BinaryL31(0x0c0000000, -0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, -0x0aaaaaaaa, -0x080000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, -0x8000000000000000, true);
	testInt64BinaryR9(-0x8000000000000000, -0x7fffffff40000000, 0x7fffffff40000000, 0x000000000, -0x0aaaaaaaa, -0x080000000, 0x000000000, -0x7fffffff40000000, -0x7fffffff40000000, -0x8000000000000000, true);
	testInt64BinaryL31(0x0ffffffff, -0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, -0x080000000, -0x080000000, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64BinaryR10(-0x8000000000000000, -0x7fffffff00000001, 0x7fffffff00000001, -0x8000000000000000, -0x080000000, -0x080000000, 0x000000000, -0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, true);
	testInt64BinaryL31(0x100000000, -0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, -0x080000000, 0x000000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64BinaryR11(-0x8000000000000000, -0x7fffffff00000000, 0x7fffffff00000000, 0x000000000, -0x080000000, 0x000000000, 0x000000000, -0x7fffffff00000000, -0x7fffffff00000000, -0x8000000000000000, true);
	testInt64BinaryL31(0x100000001, -0x7ffffffeffffffff, 0x7ffffffeffffffff, -0x8000000000000000, -0x07fffffff, -0x080000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, true);
	testInt64BinaryR12(-0x8000000000000000, -0x7ffffffeffffffff, 0x7ffffffeffffffff, -0x8000000000000000, -0x07fffffff, -0x080000001, 0x000000000, -0x7ffffffeffffffff, -0x7ffffffeffffffff, -0x8000000000000000, true);
	testInt64BinaryL31(0x200000000, -0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, -0x040000000, 0x000000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, -0x8000000000000000, true);
	testInt64BinaryR13(-0x8000000000000000, -0x7ffffffe00000000, 0x7ffffffe00000000, 0x000000000, -0x040000000, 0x000000000, 0x000000000, -0x7ffffffe00000000, -0x7ffffffe00000000, -0x8000000000000000, true);
	testInt64BinaryL31(0x7fffffffffffd8f0, -0x000002710, 0x000002710, 0x000000000, -0x000000001, -0x000002710, 0x000000000, -0x000002710, -0x000002710, -0x8000000000000000, true);
	testInt64BinaryR14(-0x8000000000000000, -0x000002710, 0x000002710, 0x000000000, -0x000000001, -0x000002710, 0x000000000, -0x000002710, -0x000002710, -0x8000000000000000, true);
	testInt64BinaryL31(0x7fffffffffffffff, -0x000000001, 0x000000001, -0x8000000000000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x8000000000000000, true);
	testInt64BinaryR15(-0x8000000000000000, -0x000000001, 0x000000001, -0x8000000000000000, -0x000000001, -0x000000001, 0x000000000, -0x000000001, -0x000000001, -0x8000000000000000, true);
	testInt64BinaryL31(0x789abcdef0123456, -0x76543210fedcbaa, 0x76543210fedcbaa, 0x000000000, -0x000000001, -0x76543210fedcbaa, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, -0x8000000000000000, true);
	testInt64BinaryR16(-0x8000000000000000, -0x76543210fedcbaa, 0x76543210fedcbaa, 0x000000000, -0x000000001, -0x76543210fedcbaa, 0x000000000, -0x76543210fedcbaa, -0x76543210fedcbaa, -0x8000000000000000, true);
	testInt64BinaryL31(-0x000000001, 0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000000, false);
	testInt64BinaryR17(-0x8000000000000000, 0x7fffffffffffffff, -0x7fffffffffffffff, -0x8000000000000000, 0x000000000, 0x000000000, -0x8000000000000000, -0x000000001, 0x7fffffffffffffff, 0x000000000, false);
	testInt64BinaryL31(-0x000000002, 0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x4000000000000000, 0x000000000, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryR18(-0x8000000000000000, 0x7ffffffffffffffe, -0x7ffffffffffffffe, 0x000000000, 0x4000000000000000, 0x000000000, -0x8000000000000000, -0x000000002, 0x7ffffffffffffffe, 0x000000000, true);
	testInt64BinaryL31(-0x000000003, 0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x2aaaaaaaaaaaaaaa, -0x000000002, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64BinaryR19(-0x8000000000000000, 0x7ffffffffffffffd, -0x7ffffffffffffffd, -0x8000000000000000, 0x2aaaaaaaaaaaaaaa, -0x000000002, -0x8000000000000000, -0x000000003, 0x7ffffffffffffffd, 0x000000000, true);
	testInt64BinaryL31(-0x000000064, 0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x147ae147ae147ae, -0x000000008, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x000000000, true);
	testInt64BinaryR20(-0x8000000000000000, 0x7fffffffffffff9c, -0x7fffffffffffff9c, 0x000000000, 0x147ae147ae147ae, -0x000000008, -0x8000000000000000, -0x000000064, 0x7fffffffffffff9c, 0x000000000, true);
	testInt64BinaryL31(-0x000002711, 0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x346c6e4615f66, -0x00000203a, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64BinaryR21(-0x8000000000000000, 0x7fffffffffffd8ef, -0x7fffffffffffd8ef, -0x8000000000000000, 0x346c6e4615f66, -0x00000203a, -0x8000000000000000, -0x000002711, 0x7fffffffffffd8ef, 0x000000000, true);
	testInt64BinaryL31(-0x07fffffff, 0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x100000002, -0x000000002, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000000, true);
	testInt64BinaryR22(-0x8000000000000000, 0x7fffffff80000001, -0x7fffffff80000001, -0x8000000000000000, 0x100000002, -0x000000002, -0x8000000000000000, -0x07fffffff, 0x7fffffff80000001, 0x000000000, true);
	testInt64BinaryL31(-0x080000000, 0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x100000000, 0x000000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryR23(-0x8000000000000000, 0x7fffffff80000000, -0x7fffffff80000000, 0x000000000, 0x100000000, 0x000000000, -0x8000000000000000, -0x080000000, 0x7fffffff80000000, 0x000000000, true);
	testInt64BinaryL31(-0x080000001, 0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x0fffffffe, -0x000000002, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64BinaryR24(-0x8000000000000000, 0x7fffffff7fffffff, -0x7fffffff7fffffff, -0x8000000000000000, 0x0fffffffe, -0x000000002, -0x8000000000000000, -0x080000001, 0x7fffffff7fffffff, 0x000000000, true);
	testInt64BinaryL31(-0x0c0000000, 0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x0aaaaaaaa, -0x080000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x000000000, true);
	testInt64BinaryR25(-0x8000000000000000, 0x7fffffff40000000, -0x7fffffff40000000, 0x000000000, 0x0aaaaaaaa, -0x080000000, -0x8000000000000000, -0x0c0000000, 0x7fffffff40000000, 0x000000000, true);
	testInt64BinaryL31(-0x100000000, 0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x080000000, 0x000000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryR26(-0x8000000000000000, 0x7fffffff00000000, -0x7fffffff00000000, 0x000000000, 0x080000000, 0x000000000, -0x8000000000000000, -0x100000000, 0x7fffffff00000000, 0x000000000, true);
	testInt64BinaryL31(-0x0ffffffff, 0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x080000000, -0x080000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000000, true);
	testInt64BinaryR27(-0x8000000000000000, 0x7fffffff00000001, -0x7fffffff00000001, -0x8000000000000000, 0x080000000, -0x080000000, -0x8000000000000000, -0x0ffffffff, 0x7fffffff00000001, 0x000000000, true);
	testInt64BinaryL31(-0x200000000, 0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x040000000, 0x000000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x000000000, true);
	testInt64BinaryR28(-0x8000000000000000, 0x7ffffffe00000000, -0x7ffffffe00000000, 0x000000000, 0x040000000, 0x000000000, -0x8000000000000000, -0x200000000, 0x7ffffffe00000000, 0x000000000, true);
	testInt64BinaryL31(-0x7fffffffffffd8f0, 0x000002710, -0x000002710, 0x000000000, 0x000000001, -0x000002710, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000000000, true);
	testInt64BinaryR29(-0x8000000000000000, 0x000002710, -0x000002710, 0x000000000, 0x000000001, -0x000002710, -0x8000000000000000, -0x7fffffffffffd8f0, 0x000002710, 0x000000000, true);
	testInt64BinaryL31(-0x7fffffffffffffff, 0x000000001, -0x000000001, -0x8000000000000000, 0x000000001, -0x000000001, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryR30(-0x8000000000000000, 0x000000001, -0x000000001, -0x8000000000000000, 0x000000001, -0x000000001, -0x8000000000000000, -0x7fffffffffffffff, 0x000000001, 0x000000000, true);
	testInt64BinaryL31(-0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, true);
	testInt64BinaryR31(-0x8000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, -0x8000000000000000, -0x8000000000000000, 0x000000000, 0x000000000, true);
	testInt64BinaryL31(-0x789abcdd0fedcbaa, 0x7654322f0123456, -0x7654322f0123456, 0x000000000, 0x000000001, -0x7654322f0123456, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x000000000, true);
	testInt64BinaryR32(-0x8000000000000000, 0x7654322f0123456, -0x7654322f0123456, 0x000000000, 0x000000001, -0x7654322f0123456, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x000000000, true);
	testInt64ShiftL31(0x000000000, -0x8000000000000000, -0x8000000000000000);
	testInt64ShiftR0(-0x8000000000000000, -0x8000000000000000, -0x8000000000000000);
	testInt64ShiftL31(0x000000001, 0x000000000, -0x4000000000000000);
	testInt64ShiftR1(-0x8000000000000000, 0x000000000, -0x4000000000000000);
	testInt64ShiftL31(0x000000002, 0x000000000, -0x2000000000000000);
	testInt64ShiftR2(-0x8000000000000000, 0x000000000, -0x2000000000000000);
	testInt64ShiftL31(0x000000003, 0x000000000, -0x1000000000000000);
	testInt64ShiftR3(-0x8000000000000000, 0x000000000, -0x1000000000000000);
	testInt64ShiftL31(0x00000000f, 0x000000000, -0x1000000000000);
	testInt64ShiftR4(-0x8000000000000000, 0x000000000, -0x1000000000000);
	testInt64ShiftL31(0x000000010, 0x000000000, -0x800000000000);
	testInt64ShiftR5(-0x8000000000000000, 0x000000000, -0x800000000000);
	testInt64ShiftL31(0x000000011, 0x000000000, -0x400000000000);
	testInt64ShiftR6(-0x8000000000000000, 0x000000000, -0x400000000000);
	testInt64ShiftL31(0x00000001f, 0x000000000, -0x100000000);
	testInt64ShiftR7(-0x8000000000000000, 0x000000000, -0x100000000);
	testInt64ShiftL31(0x000000020, 0x000000000, -0x080000000);
	testInt64ShiftR8(-0x8000000000000000, 0x000000000, -0x080000000);
	testInt64ShiftL31(0x000000021, 0x000000000, -0x040000000);
	testInt64ShiftR9(-0x8000000000000000, 0x000000000, -0x040000000);
	testInt64ShiftL31(0x00000003d, 0x000000000, -0x000000004);
	testInt64ShiftR10(-0x8000000000000000, 0x000000000, -0x000000004);
	testInt64ShiftL31(0x00000003e, 0x000000000, -0x000000002);
	testInt64ShiftR11(-0x8000000000000000, 0x000000000, -0x000000002);
	testInt64ShiftL31(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftL31(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x8000000000000000, 0x000000000, -0x000000001);
}
func test87() {
	testInt64BinaryL32(0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, false);
	testInt64BinaryR0(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, false);
	testInt64BinaryL32(0x000000001, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64BinaryR1(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, -0x789abcdd0fedcba9, -0x789abcdd0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64BinaryL32(0x000000002, -0x789abcdd0fedcba8, -0x789abcdd0fedcbac, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5, 0x000000000, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, -0x789abcdd0fedcbac, true);
	testInt64BinaryR2(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba8, -0x789abcdd0fedcbac, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5, 0x000000000, 0x000000002, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, -0x789abcdd0fedcbac, true);
	testInt64BinaryL32(0x000000003, -0x789abcdd0fedcba7, -0x789abcdd0fedcbad, -0x69d036972fc962fe, -0x28339449aff9ee8e, 0x000000000, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbac, true);
	testInt64BinaryR3(-0x789abcdd0fedcbaa, -0x789abcdd0fedcba7, -0x789abcdd0fedcbad, -0x69d036972fc962fe, -0x28339449aff9ee8e, 0x000000000, 0x000000002, -0x789abcdd0fedcba9, -0x789abcdd0fedcbab, -0x789abcdd0fedcbac, true);
	testInt64BinaryL32(0x000000064, -0x789abcdd0fedcb46, -0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, -0x134bf542170753c, -0x00000003a, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, -0x789abcdd0fedcbee, true);
	testInt64BinaryR4(-0x789abcdd0fedcbaa, -0x789abcdd0fedcb46, -0x789abcdd0fedcc0e, -0x1c71c65a38e38e68, -0x134bf542170753c, -0x00000003a, 0x000000044, -0x789abcdd0fedcb8a, -0x789abcdd0fedcbce, -0x789abcdd0fedcbee, true);
	testInt64BinaryL32(0x000002711, -0x789abcdd0feda499, -0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, -0x316507302c9ce, -0x0000002fc, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, -0x789abcdd0fedefba, true);
	testInt64BinaryR5(-0x789abcdd0fedcbaa, -0x789abcdd0feda499, -0x789abcdd0fedf2bb, 0x6af3c7e4b72e93b6, -0x316507302c9ce, -0x0000002fc, 0x000002410, -0x789abcdd0fedc8a9, -0x789abcdd0fedecb9, -0x789abcdd0fedefba, true);
	testInt64BinaryL32(0x07fffffff, -0x789abcdc8fedcbab, -0x789abcdd8fedcba9, -0xf5c28f7f0123456, -0x0f13579bc, -0x001234566, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, -0x789abcdd80000000, true);
	testInt64BinaryR6(-0x789abcdd0fedcbaa, -0x789abcdc8fedcbab, -0x789abcdd8fedcba9, -0xf5c28f7f0123456, -0x0f13579bc, -0x001234566, 0x070123456, -0x789abcdd00000001, -0x789abcdd70123457, -0x789abcdd80000000, true);
	testInt64BinaryL32(0x080000000, -0x789abcdc8fedcbaa, -0x789abcdd8fedcbaa, 0x78091a2b00000000, -0x0f13579ba, -0x00fedcbaa, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, -0x789abcdd8fedcbaa, true);
	testInt64BinaryR7(-0x789abcdd0fedcbaa, -0x789abcdc8fedcbaa, -0x789abcdd8fedcbaa, 0x78091a2b00000000, -0x0f13579ba, -0x00fedcbaa, 0x080000000, -0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, -0x789abcdd8fedcbaa, true);
	testInt64BinaryL32(0x080000001, -0x789abcdc8fedcba9, -0x789abcdd8fedcbab, -0x91a2b20fedcbaa, -0x0f13579b8, -0x01eb851f2, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, -0x789abcdd8fedcbaa, true);
	testInt64BinaryR8(-0x789abcdd0fedcbaa, -0x789abcdc8fedcba9, -0x789abcdd8fedcbab, -0x91a2b20fedcbaa, -0x0f13579b8, -0x01eb851f2, 0x080000000, -0x789abcdd0fedcba9, -0x789abcdd8fedcba9, -0x789abcdd8fedcbaa, true);
	testInt64BinaryL32(0x0c0000000, -0x789abcdc4fedcbaa, -0x789abcddcfedcbaa, 0x340da74080000000, -0x0a0ce5126, -0x08fedcbaa, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, -0x789abcddcfedcbaa, true);
	testInt64BinaryR9(-0x789abcdd0fedcbaa, -0x789abcdc4fedcbaa, -0x789abcddcfedcbaa, 0x340da74080000000, -0x0a0ce5126, -0x08fedcbaa, 0x0c0000000, -0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, -0x789abcddcfedcbaa, true);
	testInt64BinaryL32(0x0ffffffff, -0x789abcdc0fedcbab, -0x789abcde0fedcba9, 0x68acf1330fedcbaa, -0x0789abcdd, -0x088888887, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, -0x789abcde00000000, true);
	testInt64BinaryR10(-0x789abcdd0fedcbaa, -0x789abcdc0fedcbab, -0x789abcde0fedcba9, 0x68acf1330fedcbaa, -0x0789abcdd, -0x088888887, 0x0f0123456, -0x789abcdd00000001, -0x789abcddf0123457, -0x789abcde00000000, true);
	testInt64BinaryL32(0x100000000, -0x789abcdc0fedcbaa, -0x789abcde0fedcbaa, -0xfedcbaa00000000, -0x0789abcdd, -0x00fedcbaa, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, -0x789abcdd0fedcbaa, true);
	testInt64BinaryR11(-0x789abcdd0fedcbaa, -0x789abcdc0fedcbaa, -0x789abcde0fedcbaa, -0xfedcbaa00000000, -0x0789abcdd, -0x00fedcbaa, 0x000000000, -0x789abcdc0fedcbaa, -0x789abcdc0fedcbaa, -0x789abcdd0fedcbaa, true);
	testInt64BinaryL32(0x100000001, -0x789abcdc0fedcba9, -0x789abcde0fedcbab, 0x77777778f0123456, -0x0789abcdc, -0x097530ece, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64BinaryR12(-0x789abcdd0fedcbaa, -0x789abcdc0fedcba9, -0x789abcde0fedcbab, 0x77777778f0123456, -0x0789abcdc, -0x097530ece, 0x000000000, -0x789abcdc0fedcba9, -0x789abcdc0fedcba9, -0x789abcdd0fedcbaa, true);
	testInt64BinaryL32(0x200000000, -0x789abcdb0fedcbaa, -0x789abcdf0fedcbaa, -0x1fdb975400000000, -0x03c4d5e6e, -0x10fedcbaa, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, -0x789abcdf0fedcbaa, true);
	testInt64BinaryR13(-0x789abcdd0fedcbaa, -0x789abcdb0fedcbaa, -0x789abcdf0fedcbaa, -0x1fdb975400000000, -0x03c4d5e6e, -0x10fedcbaa, 0x200000000, -0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, -0x789abcdf0fedcbaa, true);
	testInt64BinaryL32(0x7fffffffffffd8f0, 0x7654322f0120d46, 0x7654322f0125b66, 0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, -0x7fffffffffffdbfa, true);
	testInt64BinaryR14(-0x789abcdd0fedcbaa, 0x7654322f0120d46, 0x7654322f0125b66, 0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0121050, -0x00000030a, -0x7654322f012135a, -0x7fffffffffffdbfa, true);
	testInt64BinaryL32(0x7fffffffffffffff, 0x7654322f0123455, 0x7654322f0123457, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, -0x8000000000000000, true);
	testInt64BinaryR15(-0x789abcdd0fedcbaa, 0x7654322f0123455, 0x7654322f0123457, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, -0x000000001, -0x7654322f0123457, -0x8000000000000000, true);
	testInt64BinaryL32(0x789abcdef0123456, 0x1e02468ac, 0xeca864400000000, -0x1edddc935934f31c, 0x000000000, -0x789abcdd0fedcbaa, 0x2f0123456, -0x10fedcbaa, -0x400000000, -0x789abce000000000, true);
	testInt64BinaryR16(-0x789abcdd0fedcbaa, 0x1e02468ac, 0xeca864400000000, -0x1edddc935934f31c, 0x000000000, -0x789abcdd0fedcbaa, 0x2f0123456, -0x10fedcbaa, -0x400000000, -0x789abce000000000, true);
	testInt64BinaryL32(-0x000000001, -0x789abcdd0fedcbab, -0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x000000000, true);
	testInt64BinaryR17(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbab, -0x789abcdd0fedcba9, 0x789abcdd0fedcbaa, 0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x000000001, 0x789abcdd0fedcba9, 0x000000000, true);
	testInt64BinaryL32(-0x000000002, -0x789abcdd0fedcbac, -0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x3c4d5e6e87f6e5d5, 0x000000000, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x000000000, true);
	testInt64BinaryR18(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbac, -0x789abcdd0fedcba8, -0xeca8645e02468ac, 0x3c4d5e6e87f6e5d5, 0x000000000, -0x789abcdd0fedcbaa, -0x000000002, 0x789abcdd0fedcba8, 0x000000000, true);
	testInt64BinaryL32(-0x000000003, -0x789abcdd0fedcbad, -0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x28339449aff9ee8e, 0x000000000, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x000000002, true);
	testInt64BinaryR19(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbad, -0x789abcdd0fedcba7, 0x69d036972fc962fe, 0x28339449aff9ee8e, 0x000000000, -0x789abcdd0fedcbac, -0x000000001, 0x789abcdd0fedcbab, 0x000000002, true);
	testInt64BinaryL32(-0x000000064, -0x789abcdd0fedcc0e, -0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x134bf542170753c, -0x00000003a, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x000000042, true);
	testInt64BinaryR20(-0x789abcdd0fedcbaa, -0x789abcdd0fedcc0e, -0x789abcdd0fedcb46, 0x1c71c65a38e38e68, 0x134bf542170753c, -0x00000003a, -0x789abcdd0fedcbec, -0x000000022, 0x789abcdd0fedcbca, 0x000000042, true);
	testInt64BinaryL32(-0x000002711, -0x789abcdd0fedf2bb, -0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x316507302c9ce, -0x0000002fc, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x000002410, true);
	testInt64BinaryR21(-0x789abcdd0fedcbaa, -0x789abcdd0fedf2bb, -0x789abcdd0feda499, -0x6af3c7e4b72e93b6, 0x316507302c9ce, -0x0000002fc, -0x789abcdd0fedefba, -0x000000301, 0x789abcdd0fedecb9, 0x000002410, true);
	testInt64BinaryL32(-0x07fffffff, -0x789abcdd8fedcba9, -0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x0f13579bc, -0x001234566, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x070123456, true);
	testInt64BinaryR22(-0x789abcdd0fedcbaa, -0x789abcdd8fedcba9, -0x789abcdc8fedcbab, 0xf5c28f7f0123456, 0x0f13579bc, -0x001234566, -0x789abcdd80000000, -0x00fedcba9, 0x789abcdd70123457, 0x070123456, true);
	testInt64BinaryL32(-0x080000000, -0x789abcdd8fedcbaa, -0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x0f13579ba, -0x00fedcbaa, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x070123456, true);
	testInt64BinaryR23(-0x789abcdd0fedcbaa, -0x789abcdd8fedcbaa, -0x789abcdc8fedcbaa, -0x78091a2b00000000, 0x0f13579ba, -0x00fedcbaa, -0x789abcdd80000000, -0x00fedcbaa, 0x789abcdd70123456, 0x070123456, true);
	testInt64BinaryL32(-0x080000001, -0x789abcdd8fedcbab, -0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x0f13579b8, -0x01eb851f2, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x080000000, true);
	testInt64BinaryR24(-0x789abcdd0fedcbaa, -0x789abcdd8fedcbab, -0x789abcdc8fedcba9, 0x91a2b20fedcbaa, 0x0f13579b8, -0x01eb851f2, -0x789abcdd8fedcbaa, -0x000000001, 0x789abcdd8fedcba9, 0x080000000, true);
	testInt64BinaryL32(-0x0c0000000, -0x789abcddcfedcbaa, -0x789abcdc4fedcbaa, -0x340da74080000000, 0x0a0ce5126, -0x08fedcbaa, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x0b0123456, true);
	testInt64BinaryR25(-0x789abcdd0fedcbaa, -0x789abcddcfedcbaa, -0x789abcdc4fedcbaa, -0x340da74080000000, 0x0a0ce5126, -0x08fedcbaa, -0x789abcddc0000000, -0x00fedcbaa, 0x789abcddb0123456, 0x0b0123456, true);
	testInt64BinaryL32(-0x100000000, -0x789abcde0fedcbaa, -0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x0789abcdd, -0x00fedcbaa, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x0f0123456, true);
	testInt64BinaryR26(-0x789abcdd0fedcbaa, -0x789abcde0fedcbaa, -0x789abcdc0fedcbaa, 0xfedcbaa00000000, 0x0789abcdd, -0x00fedcbaa, -0x789abcde00000000, -0x00fedcbaa, 0x789abcddf0123456, 0x0f0123456, true);
	testInt64BinaryL32(-0x0ffffffff, -0x789abcde0fedcba9, -0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x0789abcdd, -0x088888887, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x0f0123456, true);
	testInt64BinaryR27(-0x789abcdd0fedcbaa, -0x789abcde0fedcba9, -0x789abcdc0fedcbab, -0x68acf1330fedcbaa, 0x0789abcdd, -0x088888887, -0x789abcde00000000, -0x00fedcba9, 0x789abcddf0123457, 0x0f0123456, true);
	testInt64BinaryL32(-0x200000000, -0x789abcdf0fedcbaa, -0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x03c4d5e6e, -0x10fedcbaa, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x0f0123456, true);
	testInt64BinaryR28(-0x789abcdd0fedcbaa, -0x789abcdf0fedcbaa, -0x789abcdb0fedcbaa, 0x1fdb975400000000, 0x03c4d5e6e, -0x10fedcbaa, -0x789abcde00000000, -0x10fedcbaa, 0x789abcdcf0123456, 0x0f0123456, true);
	testInt64BinaryL32(-0x7fffffffffffd8f0, 0x7654322f0125b66, 0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x7654322f0121046, true);
	testInt64BinaryR29(-0x789abcdd0fedcbaa, 0x7654322f0125b66, 0x7654322f0120d46, -0x1c717b3e38e3a0a0, 0x000000000, -0x789abcdd0fedcbaa, -0x7fffffffffffdbf0, -0x789abcdd0fedc8aa, 0x7654322f0121346, 0x7654322f0121046, true);
	testInt64BinaryL32(-0x7fffffffffffffff, 0x7654322f0123457, 0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x7654322f0123456, true);
	testInt64BinaryR30(-0x789abcdd0fedcbaa, 0x7654322f0123457, 0x7654322f0123455, -0x789abcdd0fedcbaa, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcba9, 0x7654322f0123457, 0x7654322f0123456, true);
	testInt64BinaryL32(-0x8000000000000000, 0x7654322f0123456, 0x7654322f0123456, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x7654322f0123456, true);
	testInt64BinaryR31(-0x789abcdd0fedcbaa, 0x7654322f0123456, 0x7654322f0123456, 0x000000000, 0x000000000, -0x789abcdd0fedcbaa, -0x8000000000000000, -0x789abcdd0fedcbaa, 0x7654322f0123456, 0x7654322f0123456, true);
	testInt64BinaryL32(-0x789abcdd0fedcbaa, 0xeca8645e02468ac, 0x000000000, 0x2d390e44a6cb0ce4, 0x000000001, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, true);
	testInt64BinaryR32(-0x789abcdd0fedcbaa, 0xeca8645e02468ac, 0x000000000, 0x2d390e44a6cb0ce4, 0x000000001, 0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, 0x000000000, 0x000000000, true);
	testInt64ShiftL32(0x000000000, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa);
	testInt64ShiftR0(-0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa, -0x789abcdd0fedcbaa);
	testInt64ShiftL32(0x000000001, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5);
	testInt64ShiftR1(-0x789abcdd0fedcbaa, 0xeca8645e02468ac, -0x3c4d5e6e87f6e5d5);
	testInt64ShiftL32(0x000000002, 0x1d950c8bc048d158, -0x1e26af3743fb72eb);
	testInt64ShiftR2(-0x789abcdd0fedcbaa, 0x1d950c8bc048d158, -0x1e26af3743fb72eb);
	testInt64ShiftL32(0x000000003, 0x3b2a19178091a2b0, -0xf13579ba1fdb976);
	testInt64ShiftR3(-0x789abcdd0fedcbaa, 0x3b2a19178091a2b0, -0xf13579ba1fdb976);
	testInt64ShiftL32(0x00000000f, -0x5e6e87f6e5d50000, -0xf13579ba1fdc);
	testInt64ShiftR4(-0x789abcdd0fedcbaa, -0x5e6e87f6e5d50000, -0xf13579ba1fdc);
	testInt64ShiftL32(0x000000010, 0x4322f01234560000, -0x789abcdd0fee);
	testInt64ShiftR5(-0x789abcdd0fedcbaa, 0x4322f01234560000, -0x789abcdd0fee);
	testInt64ShiftL32(0x000000011, -0x79ba1fdb97540000, -0x3c4d5e6e87f7);
	testInt64ShiftR6(-0x789abcdd0fedcbaa, -0x79ba1fdb97540000, -0x3c4d5e6e87f7);
	testInt64ShiftL32(0x00000001f, 0x78091a2b00000000, -0x0f13579bb);
	testInt64ShiftR7(-0x789abcdd0fedcbaa, 0x78091a2b00000000, -0x0f13579bb);
	testInt64ShiftL32(0x000000020, -0xfedcbaa00000000, -0x0789abcde);
	testInt64ShiftR8(-0x789abcdd0fedcbaa, -0xfedcbaa00000000, -0x0789abcde);
	testInt64ShiftL32(0x000000021, -0x1fdb975400000000, -0x03c4d5e6f);
	testInt64ShiftR9(-0x789abcdd0fedcbaa, -0x1fdb975400000000, -0x03c4d5e6f);
	testInt64ShiftL32(0x00000003d, -0x4000000000000000, -0x000000004);
	testInt64ShiftR10(-0x789abcdd0fedcbaa, -0x4000000000000000, -0x000000004);
	testInt64ShiftL32(0x00000003e, -0x8000000000000000, -0x000000002);
	testInt64ShiftR11(-0x789abcdd0fedcbaa, -0x8000000000000000, -0x000000002);
	testInt64ShiftL32(0x00000003f, 0x000000000, -0x000000001);
	testInt64ShiftR12(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x000000040, 0x000000000, -0x000000001);
	testInt64ShiftR13(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x000000041, 0x000000000, -0x000000001);
	testInt64ShiftR14(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x0ffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR15(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x100000000, 0x000000000, -0x000000001);
	testInt64ShiftR16(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x100000001, 0x000000000, -0x000000001);
	testInt64ShiftR17(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x1000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR18(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0x8000000000000000, 0x000000000, -0x000000001);
	testInt64ShiftR19(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0xffffffff00000000, 0x000000000, -0x000000001);
	testInt64ShiftR20(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
	testInt64ShiftL32(0xffffffffffffffff, 0x000000000, -0x000000001);
	testInt64ShiftR21(-0x789abcdd0fedcbaa, 0x000000000, -0x000000001);
}
func test88() {
	testUint64BinaryL0(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testUint64BinaryR0(0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, false);
	testUint64BinaryL0(0x000000001, 0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testUint64BinaryR1(0x000000000, 0x000000001, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000000, true);
	testUint64BinaryL0(0x000000002, 0x000000002, 0xfffffffffffffffe, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testUint64BinaryR2(0x000000000, 0x000000002, 0xfffffffffffffffe, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000000, true);
	testUint64BinaryL0(0x000000003, 0x000000003, 0xfffffffffffffffd, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testUint64BinaryR3(0x000000000, 0x000000003, 0xfffffffffffffffd, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000000, true);
	testUint64BinaryL0(0x000000064, 0x000000064, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testUint64BinaryR4(0x000000000, 0x000000064, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000000, true);
	testUint64BinaryL0(0x000002711, 0x000002711, 0xffffffffffffd8ef, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testUint64BinaryR5(0x000000000, 0x000002711, 0xffffffffffffd8ef, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000000000, true);
	testUint64BinaryL0(0x07fffffff, 0x07fffffff, 0xffffffff80000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testUint64BinaryR6(0x000000000, 0x07fffffff, 0xffffffff80000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, true);
	testUint64BinaryL0(0x080000000, 0x080000000, 0xffffffff80000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testUint64BinaryR7(0x000000000, 0x080000000, 0xffffffff80000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x000000000, true);
	testUint64BinaryL0(0x080000001, 0x080000001, 0xffffffff7fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testUint64BinaryR8(0x000000000, 0x080000001, 0xffffffff7fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x000000000, true);
	testUint64BinaryL0(0x0c0000000, 0x0c0000000, 0xffffffff40000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testUint64BinaryR9(0x000000000, 0x0c0000000, 0xffffffff40000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, true);
	testUint64BinaryL0(0x0ffffffff, 0x0ffffffff, 0xffffffff00000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64BinaryR10(0x000000000, 0x0ffffffff, 0xffffffff00000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64BinaryL0(0x100000000, 0x100000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testUint64BinaryR11(0x000000000, 0x100000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x000000000, true);
	testUint64BinaryL0(0x100000001, 0x100000001, 0xfffffffeffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testUint64BinaryR12(0x000000000, 0x100000001, 0xfffffffeffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x000000000, true);
	testUint64BinaryL0(0x200000000, 0x200000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testUint64BinaryR13(0x000000000, 0x200000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x000000000, true);
	testUint64BinaryL0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x8000000000002710, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testUint64BinaryR14(0x000000000, 0x7fffffffffffd8f0, 0x8000000000002710, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, true);
	testUint64BinaryL0(0x7fffffffffffffff, 0x7fffffffffffffff, 0x8000000000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testUint64BinaryR15(0x000000000, 0x7fffffffffffffff, 0x8000000000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, true);
	testUint64BinaryL0(0xc000000000000000, 0xc000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, true);
	testUint64BinaryR16(0x000000000, 0xc000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, true);
	testUint64BinaryL0(0xffffffff00000000, 0xffffffff00000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, true);
	testUint64BinaryR17(0x000000000, 0xffffffff00000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, true);
	testUint64BinaryL0(0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, true);
	testUint64BinaryR18(0x000000000, 0xffffffffffffff9c, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, true);
	testUint64BinaryL0(0xffffffffffffffff, 0xffffffffffffffff, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, true);
	testUint64BinaryR19(0x000000000, 0xffffffffffffffff, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, true);
	testUint64BinaryL0(0x789abcdef0123456, 0x789abcdef0123456, 0x876543210fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testUint64BinaryR20(0x000000000, 0x789abcdef0123456, 0x876543210fedcbaa, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, true);
	testUint64BinaryL0(0xfedcba9876543210, 0xfedcba9876543210, 0x123456789abcdf0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, true);
	testUint64BinaryR21(0x000000000, 0xfedcba9876543210, 0x123456789abcdf0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, true);
	testUint64ShiftL0(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftR0(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftR1(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftR2(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftR3(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x00000000f, 0x000000000, 0x000000000);
	testUint64ShiftR4(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000010, 0x000000000, 0x000000000);
	testUint64ShiftR5(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000011, 0x000000000, 0x000000000);
	testUint64ShiftR6(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x00000001f, 0x000000000, 0x000000000);
	testUint64ShiftR7(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000020, 0x000000000, 0x000000000);
	testUint64ShiftR8(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000021, 0x000000000, 0x000000000);
	testUint64ShiftR9(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x00000003d, 0x000000000, 0x000000000);
	testUint64ShiftR10(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000000000, 0x000000000, 0x000000000);
	testUint64ShiftL0(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000000000, 0x000000000, 0x000000000);
}
func test89() {
	testUint64BinaryL1(0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testUint64BinaryR0(0x000000001, 0x000000001, 0x000000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000001, 0x000000001, false);
	testUint64BinaryL1(0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testUint64BinaryR1(0x000000001, 0x000000002, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x000000000, true);
	testUint64BinaryL1(0x000000002, 0x000000003, 0xffffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testUint64BinaryR2(0x000000001, 0x000000003, 0xffffffffffffffff, 0x000000002, 0x000000000, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000001, true);
	testUint64BinaryL1(0x000000003, 0x000000004, 0xfffffffffffffffe, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testUint64BinaryR3(0x000000001, 0x000000004, 0xfffffffffffffffe, 0x000000003, 0x000000000, 0x000000001, 0x000000001, 0x000000003, 0x000000002, 0x000000000, true);
	testUint64BinaryL1(0x000000064, 0x000000065, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testUint64BinaryR4(0x000000001, 0x000000065, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0x000000001, 0x000000000, 0x000000065, 0x000000065, 0x000000001, true);
	testUint64BinaryL1(0x000002711, 0x000002712, 0xffffffffffffd8f0, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testUint64BinaryR5(0x000000001, 0x000002712, 0xffffffffffffd8f0, 0x000002711, 0x000000000, 0x000000001, 0x000000001, 0x000002711, 0x000002710, 0x000000000, true);
	testUint64BinaryL1(0x07fffffff, 0x080000000, 0xffffffff80000002, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testUint64BinaryR6(0x000000001, 0x080000000, 0xffffffff80000002, 0x07fffffff, 0x000000000, 0x000000001, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x000000000, true);
	testUint64BinaryL1(0x080000000, 0x080000001, 0xffffffff80000001, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testUint64BinaryR7(0x000000001, 0x080000001, 0xffffffff80000001, 0x080000000, 0x000000000, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000001, true);
	testUint64BinaryL1(0x080000001, 0x080000002, 0xffffffff80000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testUint64BinaryR8(0x000000001, 0x080000002, 0xffffffff80000000, 0x080000001, 0x000000000, 0x000000001, 0x000000001, 0x080000001, 0x080000000, 0x000000000, true);
	testUint64BinaryL1(0x0c0000000, 0x0c0000001, 0xffffffff40000001, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testUint64BinaryR9(0x000000001, 0x0c0000001, 0xffffffff40000001, 0x0c0000000, 0x000000000, 0x000000001, 0x000000000, 0x0c0000001, 0x0c0000001, 0x000000001, true);
	testUint64BinaryL1(0x0ffffffff, 0x100000000, 0xffffffff00000002, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testUint64BinaryR10(0x000000001, 0x100000000, 0xffffffff00000002, 0x0ffffffff, 0x000000000, 0x000000001, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x000000000, true);
	testUint64BinaryL1(0x100000000, 0x100000001, 0xffffffff00000001, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testUint64BinaryR11(0x000000001, 0x100000001, 0xffffffff00000001, 0x100000000, 0x000000000, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000001, true);
	testUint64BinaryL1(0x100000001, 0x100000002, 0xffffffff00000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testUint64BinaryR12(0x000000001, 0x100000002, 0xffffffff00000000, 0x100000001, 0x000000000, 0x000000001, 0x000000001, 0x100000001, 0x100000000, 0x000000000, true);
	testUint64BinaryL1(0x200000000, 0x200000001, 0xfffffffe00000001, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testUint64BinaryR13(0x000000001, 0x200000001, 0xfffffffe00000001, 0x200000000, 0x000000000, 0x000000001, 0x000000000, 0x200000001, 0x200000001, 0x000000001, true);
	testUint64BinaryL1(0x7fffffffffffd8f0, 0x7fffffffffffd8f1, 0x8000000000002711, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testUint64BinaryR14(0x000000001, 0x7fffffffffffd8f1, 0x8000000000002711, 0x7fffffffffffd8f0, 0x000000000, 0x000000001, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x000000001, true);
	testUint64BinaryL1(0x7fffffffffffffff, 0x8000000000000000, 0x8000000000000002, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testUint64BinaryR15(0x000000001, 0x8000000000000000, 0x8000000000000002, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x000000000, true);
	testUint64BinaryL1(0xc000000000000000, 0xc000000000000001, 0x4000000000000001, 0xc000000000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0x000000001, true);
	testUint64BinaryR16(0x000000001, 0xc000000000000001, 0x4000000000000001, 0xc000000000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0x000000001, true);
	testUint64BinaryL1(0xffffffff00000000, 0xffffffff00000001, 0x100000001, 0xffffffff00000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0x000000001, true);
	testUint64BinaryR17(0x000000001, 0xffffffff00000001, 0x100000001, 0xffffffff00000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0x000000001, true);
	testUint64BinaryL1(0xffffffffffffff9c, 0xffffffffffffff9d, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000001, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0x000000001, true);
	testUint64BinaryR18(0x000000001, 0xffffffffffffff9d, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000001, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0x000000001, true);
	testUint64BinaryL1(0xffffffffffffffff, 0x000000000, 0x000000002, 0xffffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, true);
	testUint64BinaryR19(0x000000001, 0x000000000, 0x000000002, 0xffffffffffffffff, 0x000000000, 0x000000001, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, true);
	testUint64BinaryL1(0x789abcdef0123456, 0x789abcdef0123457, 0x876543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testUint64BinaryR20(0x000000001, 0x789abcdef0123457, 0x876543210fedcbab, 0x789abcdef0123456, 0x000000000, 0x000000001, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x000000001, true);
	testUint64BinaryL1(0xfedcba9876543210, 0xfedcba9876543211, 0x123456789abcdf1, 0xfedcba9876543210, 0x000000000, 0x000000001, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0x000000001, true);
	testUint64BinaryR21(0x000000001, 0xfedcba9876543211, 0x123456789abcdf1, 0xfedcba9876543210, 0x000000000, 0x000000001, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0x000000001, true);
	testUint64ShiftL1(0x000000000, 0x000000001, 0x000000001);
	testUint64ShiftR0(0x000000001, 0x000000001, 0x000000001);
	testUint64ShiftL1(0x000000001, 0x000000002, 0x000000000);
	testUint64ShiftR1(0x000000001, 0x000000002, 0x000000000);
	testUint64ShiftL1(0x000000002, 0x000000004, 0x000000000);
	testUint64ShiftR2(0x000000001, 0x000000004, 0x000000000);
	testUint64ShiftL1(0x000000003, 0x000000008, 0x000000000);
	testUint64ShiftR3(0x000000001, 0x000000008, 0x000000000);
	testUint64ShiftL1(0x00000000f, 0x000008000, 0x000000000);
	testUint64ShiftR4(0x000000001, 0x000008000, 0x000000000);
	testUint64ShiftL1(0x000000010, 0x000010000, 0x000000000);
	testUint64ShiftR5(0x000000001, 0x000010000, 0x000000000);
	testUint64ShiftL1(0x000000011, 0x000020000, 0x000000000);
	testUint64ShiftR6(0x000000001, 0x000020000, 0x000000000);
	testUint64ShiftL1(0x00000001f, 0x080000000, 0x000000000);
	testUint64ShiftR7(0x000000001, 0x080000000, 0x000000000);
	testUint64ShiftL1(0x000000020, 0x100000000, 0x000000000);
	testUint64ShiftR8(0x000000001, 0x100000000, 0x000000000);
	testUint64ShiftL1(0x000000021, 0x200000000, 0x000000000);
	testUint64ShiftR9(0x000000001, 0x200000000, 0x000000000);
	testUint64ShiftL1(0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64ShiftR10(0x000000001, 0x2000000000000000, 0x000000000);
	testUint64ShiftL1(0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64ShiftR11(0x000000001, 0x4000000000000000, 0x000000000);
	testUint64ShiftL1(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x000000001, 0x8000000000000000, 0x000000000);
	testUint64ShiftL1(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000000001, 0x000000000, 0x000000000);
	testUint64ShiftL1(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000000001, 0x000000000, 0x000000000);
}
func test90() {
	testUint64BinaryL2(0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testUint64BinaryR0(0x000000002, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000002, 0x000000002, 0x000000002, false);
	testUint64BinaryL2(0x000000001, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testUint64BinaryR1(0x000000002, 0x000000003, 0x000000001, 0x000000002, 0x000000002, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000002, true);
	testUint64BinaryL2(0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testUint64BinaryR2(0x000000002, 0x000000004, 0x000000000, 0x000000004, 0x000000001, 0x000000000, 0x000000002, 0x000000002, 0x000000000, 0x000000000, true);
	testUint64BinaryL2(0x000000003, 0x000000005, 0xffffffffffffffff, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testUint64BinaryR3(0x000000002, 0x000000005, 0xffffffffffffffff, 0x000000006, 0x000000000, 0x000000002, 0x000000002, 0x000000003, 0x000000001, 0x000000000, true);
	testUint64BinaryL2(0x000000064, 0x000000066, 0xffffffffffffff9e, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testUint64BinaryR4(0x000000002, 0x000000066, 0xffffffffffffff9e, 0x0000000c8, 0x000000000, 0x000000002, 0x000000000, 0x000000066, 0x000000066, 0x000000002, true);
	testUint64BinaryL2(0x000002711, 0x000002713, 0xffffffffffffd8f1, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testUint64BinaryR5(0x000000002, 0x000002713, 0xffffffffffffd8f1, 0x000004e22, 0x000000000, 0x000000002, 0x000000000, 0x000002713, 0x000002713, 0x000000002, true);
	testUint64BinaryL2(0x07fffffff, 0x080000001, 0xffffffff80000003, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testUint64BinaryR6(0x000000002, 0x080000001, 0xffffffff80000003, 0x0fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x000000000, true);
	testUint64BinaryL2(0x080000000, 0x080000002, 0xffffffff80000002, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testUint64BinaryR7(0x000000002, 0x080000002, 0xffffffff80000002, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x080000002, 0x080000002, 0x000000002, true);
	testUint64BinaryL2(0x080000001, 0x080000003, 0xffffffff80000001, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testUint64BinaryR8(0x000000002, 0x080000003, 0xffffffff80000001, 0x100000002, 0x000000000, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x000000002, true);
	testUint64BinaryL2(0x0c0000000, 0x0c0000002, 0xffffffff40000002, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testUint64BinaryR9(0x000000002, 0x0c0000002, 0xffffffff40000002, 0x180000000, 0x000000000, 0x000000002, 0x000000000, 0x0c0000002, 0x0c0000002, 0x000000002, true);
	testUint64BinaryL2(0x0ffffffff, 0x100000001, 0xffffffff00000003, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testUint64BinaryR10(0x000000002, 0x100000001, 0xffffffff00000003, 0x1fffffffe, 0x000000000, 0x000000002, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x000000000, true);
	testUint64BinaryL2(0x100000000, 0x100000002, 0xffffffff00000002, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testUint64BinaryR11(0x000000002, 0x100000002, 0xffffffff00000002, 0x200000000, 0x000000000, 0x000000002, 0x000000000, 0x100000002, 0x100000002, 0x000000002, true);
	testUint64BinaryL2(0x100000001, 0x100000003, 0xffffffff00000001, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testUint64BinaryR12(0x000000002, 0x100000003, 0xffffffff00000001, 0x200000002, 0x000000000, 0x000000002, 0x000000000, 0x100000003, 0x100000003, 0x000000002, true);
	testUint64BinaryL2(0x200000000, 0x200000002, 0xfffffffe00000002, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testUint64BinaryR13(0x000000002, 0x200000002, 0xfffffffe00000002, 0x400000000, 0x000000000, 0x000000002, 0x000000000, 0x200000002, 0x200000002, 0x000000002, true);
	testUint64BinaryL2(0x7fffffffffffd8f0, 0x7fffffffffffd8f2, 0x8000000000002712, 0xffffffffffffb1e0, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testUint64BinaryR14(0x000000002, 0x7fffffffffffd8f2, 0x8000000000002712, 0xffffffffffffb1e0, 0x000000000, 0x000000002, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x000000002, true);
	testUint64BinaryL2(0x7fffffffffffffff, 0x8000000000000001, 0x8000000000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testUint64BinaryR15(0x000000002, 0x8000000000000001, 0x8000000000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x000000000, true);
	testUint64BinaryL2(0xc000000000000000, 0xc000000000000002, 0x4000000000000002, 0x8000000000000000, 0x000000000, 0x000000002, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0x000000002, true);
	testUint64BinaryR16(0x000000002, 0xc000000000000002, 0x4000000000000002, 0x8000000000000000, 0x000000000, 0x000000002, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0x000000002, true);
	testUint64BinaryL2(0xffffffff00000000, 0xffffffff00000002, 0x100000002, 0xfffffffe00000000, 0x000000000, 0x000000002, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0x000000002, true);
	testUint64BinaryR17(0x000000002, 0xffffffff00000002, 0x100000002, 0xfffffffe00000000, 0x000000000, 0x000000002, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0x000000002, true);
	testUint64BinaryL2(0xffffffffffffff9c, 0xffffffffffffff9e, 0x000000066, 0xffffffffffffff38, 0x000000000, 0x000000002, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0x000000002, true);
	testUint64BinaryR18(0x000000002, 0xffffffffffffff9e, 0x000000066, 0xffffffffffffff38, 0x000000000, 0x000000002, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0x000000002, true);
	testUint64BinaryL2(0xffffffffffffffff, 0x000000001, 0x000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0x000000000, true);
	testUint64BinaryR19(0x000000002, 0x000000001, 0x000000003, 0xfffffffffffffffe, 0x000000000, 0x000000002, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0x000000000, true);
	testUint64BinaryL2(0x789abcdef0123456, 0x789abcdef0123458, 0x876543210fedcbac, 0xf13579bde02468ac, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testUint64BinaryR20(0x000000002, 0x789abcdef0123458, 0x876543210fedcbac, 0xf13579bde02468ac, 0x000000000, 0x000000002, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x000000000, true);
	testUint64BinaryL2(0xfedcba9876543210, 0xfedcba9876543212, 0x123456789abcdf2, 0xfdb97530eca86420, 0x000000000, 0x000000002, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0x000000002, true);
	testUint64BinaryR21(0x000000002, 0xfedcba9876543212, 0x123456789abcdf2, 0xfdb97530eca86420, 0x000000000, 0x000000002, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0x000000002, true);
	testUint64ShiftL2(0x000000000, 0x000000002, 0x000000002);
	testUint64ShiftR0(0x000000002, 0x000000002, 0x000000002);
	testUint64ShiftL2(0x000000001, 0x000000004, 0x000000001);
	testUint64ShiftR1(0x000000002, 0x000000004, 0x000000001);
	testUint64ShiftL2(0x000000002, 0x000000008, 0x000000000);
	testUint64ShiftR2(0x000000002, 0x000000008, 0x000000000);
	testUint64ShiftL2(0x000000003, 0x000000010, 0x000000000);
	testUint64ShiftR3(0x000000002, 0x000000010, 0x000000000);
	testUint64ShiftL2(0x00000000f, 0x000010000, 0x000000000);
	testUint64ShiftR4(0x000000002, 0x000010000, 0x000000000);
	testUint64ShiftL2(0x000000010, 0x000020000, 0x000000000);
	testUint64ShiftR5(0x000000002, 0x000020000, 0x000000000);
	testUint64ShiftL2(0x000000011, 0x000040000, 0x000000000);
	testUint64ShiftR6(0x000000002, 0x000040000, 0x000000000);
	testUint64ShiftL2(0x00000001f, 0x100000000, 0x000000000);
	testUint64ShiftR7(0x000000002, 0x100000000, 0x000000000);
	testUint64ShiftL2(0x000000020, 0x200000000, 0x000000000);
	testUint64ShiftR8(0x000000002, 0x200000000, 0x000000000);
	testUint64ShiftL2(0x000000021, 0x400000000, 0x000000000);
	testUint64ShiftR9(0x000000002, 0x400000000, 0x000000000);
	testUint64ShiftL2(0x00000003d, 0x4000000000000000, 0x000000000);
	testUint64ShiftR10(0x000000002, 0x4000000000000000, 0x000000000);
	testUint64ShiftL2(0x00000003e, 0x8000000000000000, 0x000000000);
	testUint64ShiftR11(0x000000002, 0x8000000000000000, 0x000000000);
	testUint64ShiftL2(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000000002, 0x000000000, 0x000000000);
	testUint64ShiftL2(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000000002, 0x000000000, 0x000000000);
}
func test91() {
	testUint64BinaryL3(0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testUint64BinaryR0(0x000000003, 0x000000003, 0x000000003, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000003, 0x000000003, 0x000000003, false);
	testUint64BinaryL3(0x000000001, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testUint64BinaryR1(0x000000003, 0x000000004, 0x000000002, 0x000000003, 0x000000003, 0x000000000, 0x000000001, 0x000000003, 0x000000002, 0x000000002, true);
	testUint64BinaryL3(0x000000002, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testUint64BinaryR2(0x000000003, 0x000000005, 0x000000001, 0x000000006, 0x000000001, 0x000000001, 0x000000002, 0x000000003, 0x000000001, 0x000000001, true);
	testUint64BinaryL3(0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testUint64BinaryR3(0x000000003, 0x000000006, 0x000000000, 0x000000009, 0x000000001, 0x000000000, 0x000000003, 0x000000003, 0x000000000, 0x000000000, true);
	testUint64BinaryL3(0x000000064, 0x000000067, 0xffffffffffffff9f, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testUint64BinaryR4(0x000000003, 0x000000067, 0xffffffffffffff9f, 0x00000012c, 0x000000000, 0x000000003, 0x000000000, 0x000000067, 0x000000067, 0x000000003, true);
	testUint64BinaryL3(0x000002711, 0x000002714, 0xffffffffffffd8f2, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testUint64BinaryR5(0x000000003, 0x000002714, 0xffffffffffffd8f2, 0x000007533, 0x000000000, 0x000000003, 0x000000001, 0x000002713, 0x000002712, 0x000000002, true);
	testUint64BinaryL3(0x07fffffff, 0x080000002, 0xffffffff80000004, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testUint64BinaryR6(0x000000003, 0x080000002, 0xffffffff80000004, 0x17ffffffd, 0x000000000, 0x000000003, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x000000000, true);
	testUint64BinaryL3(0x080000000, 0x080000003, 0xffffffff80000003, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testUint64BinaryR7(0x000000003, 0x080000003, 0xffffffff80000003, 0x180000000, 0x000000000, 0x000000003, 0x000000000, 0x080000003, 0x080000003, 0x000000003, true);
	testUint64BinaryL3(0x080000001, 0x080000004, 0xffffffff80000002, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testUint64BinaryR8(0x000000003, 0x080000004, 0xffffffff80000002, 0x180000003, 0x000000000, 0x000000003, 0x000000001, 0x080000003, 0x080000002, 0x000000002, true);
	testUint64BinaryL3(0x0c0000000, 0x0c0000003, 0xffffffff40000003, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testUint64BinaryR9(0x000000003, 0x0c0000003, 0xffffffff40000003, 0x240000000, 0x000000000, 0x000000003, 0x000000000, 0x0c0000003, 0x0c0000003, 0x000000003, true);
	testUint64BinaryL3(0x0ffffffff, 0x100000002, 0xffffffff00000004, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testUint64BinaryR10(0x000000003, 0x100000002, 0xffffffff00000004, 0x2fffffffd, 0x000000000, 0x000000003, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x000000000, true);
	testUint64BinaryL3(0x100000000, 0x100000003, 0xffffffff00000003, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testUint64BinaryR11(0x000000003, 0x100000003, 0xffffffff00000003, 0x300000000, 0x000000000, 0x000000003, 0x000000000, 0x100000003, 0x100000003, 0x000000003, true);
	testUint64BinaryL3(0x100000001, 0x100000004, 0xffffffff00000002, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testUint64BinaryR12(0x000000003, 0x100000004, 0xffffffff00000002, 0x300000003, 0x000000000, 0x000000003, 0x000000001, 0x100000003, 0x100000002, 0x000000002, true);
	testUint64BinaryL3(0x200000000, 0x200000003, 0xfffffffe00000003, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testUint64BinaryR13(0x000000003, 0x200000003, 0xfffffffe00000003, 0x600000000, 0x000000000, 0x000000003, 0x000000000, 0x200000003, 0x200000003, 0x000000003, true);
	testUint64BinaryL3(0x7fffffffffffd8f0, 0x7fffffffffffd8f3, 0x8000000000002713, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testUint64BinaryR14(0x000000003, 0x7fffffffffffd8f3, 0x8000000000002713, 0x7fffffffffff8ad0, 0x000000000, 0x000000003, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x000000003, true);
	testUint64BinaryL3(0x7fffffffffffffff, 0x8000000000000002, 0x8000000000000004, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testUint64BinaryR15(0x000000003, 0x8000000000000002, 0x8000000000000004, 0x7ffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x000000000, true);
	testUint64BinaryL3(0xc000000000000000, 0xc000000000000003, 0x4000000000000003, 0x4000000000000000, 0x000000000, 0x000000003, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0x000000003, true);
	testUint64BinaryR16(0x000000003, 0xc000000000000003, 0x4000000000000003, 0x4000000000000000, 0x000000000, 0x000000003, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0x000000003, true);
	testUint64BinaryL3(0xffffffff00000000, 0xffffffff00000003, 0x100000003, 0xfffffffd00000000, 0x000000000, 0x000000003, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0x000000003, true);
	testUint64BinaryR17(0x000000003, 0xffffffff00000003, 0x100000003, 0xfffffffd00000000, 0x000000000, 0x000000003, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0x000000003, true);
	testUint64BinaryL3(0xffffffffffffff9c, 0xffffffffffffff9f, 0x000000067, 0xfffffffffffffed4, 0x000000000, 0x000000003, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0x000000003, true);
	testUint64BinaryR18(0x000000003, 0xffffffffffffff9f, 0x000000067, 0xfffffffffffffed4, 0x000000000, 0x000000003, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0x000000003, true);
	testUint64BinaryL3(0xffffffffffffffff, 0x000000002, 0x000000004, 0xfffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0x000000000, true);
	testUint64BinaryR19(0x000000003, 0x000000002, 0x000000004, 0xfffffffffffffffd, 0x000000000, 0x000000003, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0x000000000, true);
	testUint64BinaryL3(0x789abcdef0123456, 0x789abcdef0123459, 0x876543210fedcbad, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testUint64BinaryR20(0x000000003, 0x789abcdef0123459, 0x876543210fedcbad, 0x69d0369cd0369d02, 0x000000000, 0x000000003, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x000000001, true);
	testUint64BinaryL3(0xfedcba9876543210, 0xfedcba9876543213, 0x123456789abcdf3, 0xfc962fc962fc9630, 0x000000000, 0x000000003, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0x000000003, true);
	testUint64BinaryR21(0x000000003, 0xfedcba9876543213, 0x123456789abcdf3, 0xfc962fc962fc9630, 0x000000000, 0x000000003, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0x000000003, true);
	testUint64ShiftL3(0x000000000, 0x000000003, 0x000000003);
	testUint64ShiftR0(0x000000003, 0x000000003, 0x000000003);
	testUint64ShiftL3(0x000000001, 0x000000006, 0x000000001);
	testUint64ShiftR1(0x000000003, 0x000000006, 0x000000001);
	testUint64ShiftL3(0x000000002, 0x00000000c, 0x000000000);
	testUint64ShiftR2(0x000000003, 0x00000000c, 0x000000000);
	testUint64ShiftL3(0x000000003, 0x000000018, 0x000000000);
	testUint64ShiftR3(0x000000003, 0x000000018, 0x000000000);
	testUint64ShiftL3(0x00000000f, 0x000018000, 0x000000000);
	testUint64ShiftR4(0x000000003, 0x000018000, 0x000000000);
	testUint64ShiftL3(0x000000010, 0x000030000, 0x000000000);
	testUint64ShiftR5(0x000000003, 0x000030000, 0x000000000);
	testUint64ShiftL3(0x000000011, 0x000060000, 0x000000000);
	testUint64ShiftR6(0x000000003, 0x000060000, 0x000000000);
	testUint64ShiftL3(0x00000001f, 0x180000000, 0x000000000);
	testUint64ShiftR7(0x000000003, 0x180000000, 0x000000000);
	testUint64ShiftL3(0x000000020, 0x300000000, 0x000000000);
	testUint64ShiftR8(0x000000003, 0x300000000, 0x000000000);
	testUint64ShiftL3(0x000000021, 0x600000000, 0x000000000);
	testUint64ShiftR9(0x000000003, 0x600000000, 0x000000000);
	testUint64ShiftL3(0x00000003d, 0x6000000000000000, 0x000000000);
	testUint64ShiftR10(0x000000003, 0x6000000000000000, 0x000000000);
	testUint64ShiftL3(0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64ShiftR11(0x000000003, 0xc000000000000000, 0x000000000);
	testUint64ShiftL3(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x000000003, 0x8000000000000000, 0x000000000);
	testUint64ShiftL3(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000000003, 0x000000000, 0x000000000);
	testUint64ShiftL3(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000000003, 0x000000000, 0x000000000);
}
func test92() {
	testUint64BinaryL4(0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testUint64BinaryR0(0x000000064, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000064, 0x000000064, 0x000000064, false);
	testUint64BinaryL4(0x000000001, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testUint64BinaryR1(0x000000064, 0x000000065, 0x000000063, 0x000000064, 0x000000064, 0x000000000, 0x000000000, 0x000000065, 0x000000065, 0x000000064, true);
	testUint64BinaryL4(0x000000002, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testUint64BinaryR2(0x000000064, 0x000000066, 0x000000062, 0x0000000c8, 0x000000032, 0x000000000, 0x000000000, 0x000000066, 0x000000066, 0x000000064, true);
	testUint64BinaryL4(0x000000003, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testUint64BinaryR3(0x000000064, 0x000000067, 0x000000061, 0x00000012c, 0x000000021, 0x000000001, 0x000000000, 0x000000067, 0x000000067, 0x000000064, true);
	testUint64BinaryL4(0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testUint64BinaryR4(0x000000064, 0x0000000c8, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0x000000064, 0x000000064, 0x000000000, 0x000000000, true);
	testUint64BinaryL4(0x000002711, 0x000002775, 0xffffffffffffd953, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testUint64BinaryR5(0x000000064, 0x000002775, 0xffffffffffffd953, 0x0000f42a4, 0x000000000, 0x000000064, 0x000000000, 0x000002775, 0x000002775, 0x000000064, true);
	testUint64BinaryL4(0x07fffffff, 0x080000063, 0xffffffff80000065, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testUint64BinaryR6(0x000000064, 0x080000063, 0xffffffff80000065, 0x31ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x000000000, true);
	testUint64BinaryL4(0x080000000, 0x080000064, 0xffffffff80000064, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testUint64BinaryR7(0x000000064, 0x080000064, 0xffffffff80000064, 0x3200000000, 0x000000000, 0x000000064, 0x000000000, 0x080000064, 0x080000064, 0x000000064, true);
	testUint64BinaryL4(0x080000001, 0x080000065, 0xffffffff80000063, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testUint64BinaryR8(0x000000064, 0x080000065, 0xffffffff80000063, 0x3200000064, 0x000000000, 0x000000064, 0x000000000, 0x080000065, 0x080000065, 0x000000064, true);
	testUint64BinaryL4(0x0c0000000, 0x0c0000064, 0xffffffff40000064, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testUint64BinaryR9(0x000000064, 0x0c0000064, 0xffffffff40000064, 0x4b00000000, 0x000000000, 0x000000064, 0x000000000, 0x0c0000064, 0x0c0000064, 0x000000064, true);
	testUint64BinaryL4(0x0ffffffff, 0x100000063, 0xffffffff00000065, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testUint64BinaryR10(0x000000064, 0x100000063, 0xffffffff00000065, 0x63ffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x000000000, true);
	testUint64BinaryL4(0x100000000, 0x100000064, 0xffffffff00000064, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testUint64BinaryR11(0x000000064, 0x100000064, 0xffffffff00000064, 0x6400000000, 0x000000000, 0x000000064, 0x000000000, 0x100000064, 0x100000064, 0x000000064, true);
	testUint64BinaryL4(0x100000001, 0x100000065, 0xffffffff00000063, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testUint64BinaryR12(0x000000064, 0x100000065, 0xffffffff00000063, 0x6400000064, 0x000000000, 0x000000064, 0x000000000, 0x100000065, 0x100000065, 0x000000064, true);
	testUint64BinaryL4(0x200000000, 0x200000064, 0xfffffffe00000064, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testUint64BinaryR13(0x000000064, 0x200000064, 0xfffffffe00000064, 0xc800000000, 0x000000000, 0x000000064, 0x000000000, 0x200000064, 0x200000064, 0x000000064, true);
	testUint64BinaryL4(0x7fffffffffffd8f0, 0x7fffffffffffd954, 0x8000000000002774, 0xfffffffffff0bdc0, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testUint64BinaryR14(0x000000064, 0x7fffffffffffd954, 0x8000000000002774, 0xfffffffffff0bdc0, 0x000000000, 0x000000064, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x000000004, true);
	testUint64BinaryL4(0x7fffffffffffffff, 0x8000000000000063, 0x8000000000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testUint64BinaryR15(0x000000064, 0x8000000000000063, 0x8000000000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x000000000, true);
	testUint64BinaryL4(0xc000000000000000, 0xc000000000000064, 0x4000000000000064, 0x000000000, 0x000000000, 0x000000064, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0x000000064, true);
	testUint64BinaryR16(0x000000064, 0xc000000000000064, 0x4000000000000064, 0x000000000, 0x000000000, 0x000000064, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0x000000064, true);
	testUint64BinaryL4(0xffffffff00000000, 0xffffffff00000064, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x000000064, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0x000000064, true);
	testUint64BinaryR17(0x000000064, 0xffffffff00000064, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x000000064, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0x000000064, true);
	testUint64BinaryL4(0xffffffffffffff9c, 0x000000000, 0x0000000c8, 0xffffffffffffd8f0, 0x000000000, 0x000000064, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0x000000060, true);
	testUint64BinaryR18(0x000000064, 0x000000000, 0x0000000c8, 0xffffffffffffd8f0, 0x000000000, 0x000000064, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0x000000060, true);
	testUint64BinaryL4(0xffffffffffffffff, 0x000000063, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0x000000000, true);
	testUint64BinaryR19(0x000000064, 0x000000063, 0x000000065, 0xffffffffffffff9c, 0x000000000, 0x000000064, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0x000000000, true);
	testUint64BinaryL4(0x789abcdef0123456, 0x789abcdef01234ba, 0x876543210fedcc0e, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testUint64BinaryR20(0x000000064, 0x789abcdef01234ba, 0x876543210fedcc0e, 0x1c71c715c71c7198, 0x000000000, 0x000000064, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x000000020, true);
	testUint64BinaryL4(0xfedcba9876543210, 0xfedcba9876543274, 0x123456789abce54, 0x8e38e38e38e38e40, 0x000000000, 0x000000064, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0x000000064, true);
	testUint64BinaryR21(0x000000064, 0xfedcba9876543274, 0x123456789abce54, 0x8e38e38e38e38e40, 0x000000000, 0x000000064, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0x000000064, true);
	testUint64ShiftL4(0x000000000, 0x000000064, 0x000000064);
	testUint64ShiftR0(0x000000064, 0x000000064, 0x000000064);
	testUint64ShiftL4(0x000000001, 0x0000000c8, 0x000000032);
	testUint64ShiftR1(0x000000064, 0x0000000c8, 0x000000032);
	testUint64ShiftL4(0x000000002, 0x000000190, 0x000000019);
	testUint64ShiftR2(0x000000064, 0x000000190, 0x000000019);
	testUint64ShiftL4(0x000000003, 0x000000320, 0x00000000c);
	testUint64ShiftR3(0x000000064, 0x000000320, 0x00000000c);
	testUint64ShiftL4(0x00000000f, 0x000320000, 0x000000000);
	testUint64ShiftR4(0x000000064, 0x000320000, 0x000000000);
	testUint64ShiftL4(0x000000010, 0x000640000, 0x000000000);
	testUint64ShiftR5(0x000000064, 0x000640000, 0x000000000);
	testUint64ShiftL4(0x000000011, 0x000c80000, 0x000000000);
	testUint64ShiftR6(0x000000064, 0x000c80000, 0x000000000);
	testUint64ShiftL4(0x00000001f, 0x3200000000, 0x000000000);
	testUint64ShiftR7(0x000000064, 0x3200000000, 0x000000000);
	testUint64ShiftL4(0x000000020, 0x6400000000, 0x000000000);
	testUint64ShiftR8(0x000000064, 0x6400000000, 0x000000000);
	testUint64ShiftL4(0x000000021, 0xc800000000, 0x000000000);
	testUint64ShiftR9(0x000000064, 0xc800000000, 0x000000000);
	testUint64ShiftL4(0x00000003d, 0x8000000000000000, 0x000000000);
	testUint64ShiftR10(0x000000064, 0x8000000000000000, 0x000000000);
	testUint64ShiftL4(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000000064, 0x000000000, 0x000000000);
	testUint64ShiftL4(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000000064, 0x000000000, 0x000000000);
}
func test93() {
	testUint64BinaryL5(0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testUint64BinaryR0(0x000002711, 0x000002711, 0x000002711, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000002711, 0x000002711, 0x000002711, false);
	testUint64BinaryL5(0x000000001, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testUint64BinaryR1(0x000002711, 0x000002712, 0x000002710, 0x000002711, 0x000002711, 0x000000000, 0x000000001, 0x000002711, 0x000002710, 0x000002710, true);
	testUint64BinaryL5(0x000000002, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testUint64BinaryR2(0x000002711, 0x000002713, 0x00000270f, 0x000004e22, 0x000001388, 0x000000001, 0x000000000, 0x000002713, 0x000002713, 0x000002711, true);
	testUint64BinaryL5(0x000000003, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testUint64BinaryR3(0x000002711, 0x000002714, 0x00000270e, 0x000007533, 0x000000d05, 0x000000002, 0x000000001, 0x000002713, 0x000002712, 0x000002710, true);
	testUint64BinaryL5(0x000000064, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testUint64BinaryR4(0x000002711, 0x000002775, 0x0000026ad, 0x0000f42a4, 0x000000064, 0x000000001, 0x000000000, 0x000002775, 0x000002775, 0x000002711, true);
	testUint64BinaryL5(0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testUint64BinaryR5(0x000002711, 0x000004e22, 0x000000000, 0x005f62f21, 0x000000001, 0x000000000, 0x000002711, 0x000002711, 0x000000000, 0x000000000, true);
	testUint64BinaryL5(0x07fffffff, 0x080002710, 0xffffffff80002712, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testUint64BinaryR6(0x000002711, 0x080002710, 0xffffffff80002712, 0x13887fffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x000000000, true);
	testUint64BinaryL5(0x080000000, 0x080002711, 0xffffffff80002711, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testUint64BinaryR7(0x000002711, 0x080002711, 0xffffffff80002711, 0x138880000000, 0x000000000, 0x000002711, 0x000000000, 0x080002711, 0x080002711, 0x000002711, true);
	testUint64BinaryL5(0x080000001, 0x080002712, 0xffffffff80002710, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testUint64BinaryR8(0x000002711, 0x080002712, 0xffffffff80002710, 0x138880002711, 0x000000000, 0x000002711, 0x000000001, 0x080002711, 0x080002710, 0x000002710, true);
	testUint64BinaryL5(0x0c0000000, 0x0c0002711, 0xffffffff40002711, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testUint64BinaryR9(0x000002711, 0x0c0002711, 0xffffffff40002711, 0x1d4cc0000000, 0x000000000, 0x000002711, 0x000000000, 0x0c0002711, 0x0c0002711, 0x000002711, true);
	testUint64BinaryL5(0x0ffffffff, 0x100002710, 0xffffffff00002712, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testUint64BinaryR10(0x000002711, 0x100002710, 0xffffffff00002712, 0x2710ffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x000000000, true);
	testUint64BinaryL5(0x100000000, 0x100002711, 0xffffffff00002711, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testUint64BinaryR11(0x000002711, 0x100002711, 0xffffffff00002711, 0x271100000000, 0x000000000, 0x000002711, 0x000000000, 0x100002711, 0x100002711, 0x000002711, true);
	testUint64BinaryL5(0x100000001, 0x100002712, 0xffffffff00002710, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testUint64BinaryR12(0x000002711, 0x100002712, 0xffffffff00002710, 0x271100002711, 0x000000000, 0x000002711, 0x000000001, 0x100002711, 0x100002710, 0x000002710, true);
	testUint64BinaryL5(0x200000000, 0x200002711, 0xfffffffe00002711, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testUint64BinaryR13(0x000002711, 0x200002711, 0xfffffffe00002711, 0x4e2200000000, 0x000000000, 0x000002711, 0x000000000, 0x200002711, 0x200002711, 0x000002711, true);
	testUint64BinaryL5(0x7fffffffffffd8f0, 0x8000000000000001, 0x8000000000004e21, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testUint64BinaryR14(0x000002711, 0x8000000000000001, 0x8000000000004e21, 0x7ffffffffa09f7f0, 0x000000000, 0x000002711, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x000002701, true);
	testUint64BinaryL5(0x7fffffffffffffff, 0x8000000000002710, 0x8000000000002712, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testUint64BinaryR15(0x000002711, 0x8000000000002710, 0x8000000000002712, 0x7fffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x000000000, true);
	testUint64BinaryL5(0xc000000000000000, 0xc000000000002711, 0x4000000000002711, 0xc000000000000000, 0x000000000, 0x000002711, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0x000002711, true);
	testUint64BinaryR16(0x000002711, 0xc000000000002711, 0x4000000000002711, 0xc000000000000000, 0x000000000, 0x000002711, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0x000002711, true);
	testUint64BinaryL5(0xffffffff00000000, 0xffffffff00002711, 0x100002711, 0xffffd8ef00000000, 0x000000000, 0x000002711, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0x000002711, true);
	testUint64BinaryR17(0x000002711, 0xffffffff00002711, 0x100002711, 0xffffd8ef00000000, 0x000000000, 0x000002711, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0x000002711, true);
	testUint64BinaryL5(0xffffffffffffff9c, 0x0000026ad, 0x000002775, 0xfffffffffff0bd5c, 0x000000000, 0x000002711, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0x000000001, true);
	testUint64BinaryR18(0x000002711, 0x0000026ad, 0x000002775, 0xfffffffffff0bd5c, 0x000000000, 0x000002711, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0x000000001, true);
	testUint64BinaryL5(0xffffffffffffffff, 0x000002710, 0x000002712, 0xffffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0x000000000, true);
	testUint64BinaryR19(0x000002711, 0x000002710, 0x000002712, 0xffffffffffffd8ef, 0x000000000, 0x000002711, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0x000000000, true);
	testUint64BinaryL5(0x789abcdef0123456, 0x789abcdef0125b67, 0x876543210fedf2bb, 0x950c8160b72e93b6, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testUint64BinaryR20(0x000002711, 0x789abcdef0125b67, 0x876543210fedf2bb, 0x950c8160b72e93b6, 0x000000000, 0x000002711, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x000000301, true);
	testUint64BinaryL5(0xfedcba9876543210, 0xfedcba9876545921, 0x123456789abf501, 0x8d159e26af37c310, 0x000000000, 0x000002711, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0x000000501, true);
	testUint64BinaryR21(0x000002711, 0xfedcba9876545921, 0x123456789abf501, 0x8d159e26af37c310, 0x000000000, 0x000002711, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0x000000501, true);
	testUint64ShiftL5(0x000000000, 0x000002711, 0x000002711);
	testUint64ShiftR0(0x000002711, 0x000002711, 0x000002711);
	testUint64ShiftL5(0x000000001, 0x000004e22, 0x000001388);
	testUint64ShiftR1(0x000002711, 0x000004e22, 0x000001388);
	testUint64ShiftL5(0x000000002, 0x000009c44, 0x0000009c4);
	testUint64ShiftR2(0x000002711, 0x000009c44, 0x0000009c4);
	testUint64ShiftL5(0x000000003, 0x000013888, 0x0000004e2);
	testUint64ShiftR3(0x000002711, 0x000013888, 0x0000004e2);
	testUint64ShiftL5(0x00000000f, 0x013888000, 0x000000000);
	testUint64ShiftR4(0x000002711, 0x013888000, 0x000000000);
	testUint64ShiftL5(0x000000010, 0x027110000, 0x000000000);
	testUint64ShiftR5(0x000002711, 0x027110000, 0x000000000);
	testUint64ShiftL5(0x000000011, 0x04e220000, 0x000000000);
	testUint64ShiftR6(0x000002711, 0x04e220000, 0x000000000);
	testUint64ShiftL5(0x00000001f, 0x138880000000, 0x000000000);
	testUint64ShiftR7(0x000002711, 0x138880000000, 0x000000000);
	testUint64ShiftL5(0x000000020, 0x271100000000, 0x000000000);
	testUint64ShiftR8(0x000002711, 0x271100000000, 0x000000000);
	testUint64ShiftL5(0x000000021, 0x4e2200000000, 0x000000000);
	testUint64ShiftR9(0x000002711, 0x4e2200000000, 0x000000000);
	testUint64ShiftL5(0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64ShiftR10(0x000002711, 0x2000000000000000, 0x000000000);
	testUint64ShiftL5(0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64ShiftR11(0x000002711, 0x4000000000000000, 0x000000000);
	testUint64ShiftL5(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x000002711, 0x8000000000000000, 0x000000000);
	testUint64ShiftL5(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x000002711, 0x000000000, 0x000000000);
	testUint64ShiftL5(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x000002711, 0x000000000, 0x000000000);
}
func test94() {
	testUint64BinaryL6(0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testUint64BinaryR0(0x07fffffff, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x07fffffff, 0x07fffffff, 0x07fffffff, false);
	testUint64BinaryL6(0x000000001, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64BinaryR1(0x07fffffff, 0x080000000, 0x07ffffffe, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000001, 0x07fffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64BinaryL6(0x000000002, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testUint64BinaryR2(0x07fffffff, 0x080000001, 0x07ffffffd, 0x0fffffffe, 0x03fffffff, 0x000000001, 0x000000002, 0x07fffffff, 0x07ffffffd, 0x07ffffffd, true);
	testUint64BinaryL6(0x000000003, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testUint64BinaryR3(0x07fffffff, 0x080000002, 0x07ffffffc, 0x17ffffffd, 0x02aaaaaaa, 0x000000001, 0x000000003, 0x07fffffff, 0x07ffffffc, 0x07ffffffc, true);
	testUint64BinaryL6(0x000000064, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testUint64BinaryR4(0x07fffffff, 0x080000063, 0x07fffff9b, 0x31ffffff9c, 0x00147ae14, 0x00000002f, 0x000000064, 0x07fffffff, 0x07fffff9b, 0x07fffff9b, true);
	testUint64BinaryL6(0x000002711, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testUint64BinaryR5(0x07fffffff, 0x080002710, 0x07fffd8ee, 0x13887fffd8ef, 0x0000346c6, 0x0000022d9, 0x000002711, 0x07fffffff, 0x07fffd8ee, 0x07fffd8ee, true);
	testUint64BinaryL6(0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryR6(0x07fffffff, 0x0fffffffe, 0x000000000, 0x3fffffff00000001, 0x000000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryL6(0x080000000, 0x0ffffffff, 0xffffffffffffffff, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testUint64BinaryR7(0x07fffffff, 0x0ffffffff, 0xffffffffffffffff, 0x3fffffff80000000, 0x000000000, 0x07fffffff, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x07fffffff, true);
	testUint64BinaryL6(0x080000001, 0x100000000, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testUint64BinaryR8(0x07fffffff, 0x100000000, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x07ffffffe, true);
	testUint64BinaryL6(0x0c0000000, 0x13fffffff, 0xffffffffbfffffff, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testUint64BinaryR9(0x07fffffff, 0x13fffffff, 0xffffffffbfffffff, 0x5fffffff40000000, 0x000000000, 0x07fffffff, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x03fffffff, true);
	testUint64BinaryL6(0x0ffffffff, 0x17ffffffe, 0xffffffff80000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testUint64BinaryR10(0x07fffffff, 0x17ffffffe, 0xffffffff80000000, 0x7ffffffe80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x000000000, true);
	testUint64BinaryL6(0x100000000, 0x17fffffff, 0xffffffff7fffffff, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testUint64BinaryR11(0x07fffffff, 0x17fffffff, 0xffffffff7fffffff, 0x7fffffff00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x17fffffff, 0x17fffffff, 0x07fffffff, true);
	testUint64BinaryL6(0x100000001, 0x180000000, 0xffffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testUint64BinaryR12(0x07fffffff, 0x180000000, 0xffffffff7ffffffe, 0x7fffffff7fffffff, 0x000000000, 0x07fffffff, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x07ffffffe, true);
	testUint64BinaryL6(0x200000000, 0x27fffffff, 0xfffffffe7fffffff, 0xfffffffe00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testUint64BinaryR13(0x07fffffff, 0x27fffffff, 0xfffffffe7fffffff, 0xfffffffe00000000, 0x000000000, 0x07fffffff, 0x000000000, 0x27fffffff, 0x27fffffff, 0x07fffffff, true);
	testUint64BinaryL6(0x7fffffffffffd8f0, 0x800000007fffd8ef, 0x800000008000270f, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testUint64BinaryR14(0x07fffffff, 0x800000007fffd8ef, 0x800000008000270f, 0x7fffec7800002710, 0x000000000, 0x07fffffff, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x00000270f, true);
	testUint64BinaryL6(0x7fffffffffffffff, 0x800000007ffffffe, 0x8000000080000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testUint64BinaryR15(0x07fffffff, 0x800000007ffffffe, 0x8000000080000000, 0x7fffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x000000000, true);
	testUint64BinaryL6(0xc000000000000000, 0xc00000007fffffff, 0x400000007fffffff, 0x4000000000000000, 0x000000000, 0x07fffffff, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0x07fffffff, true);
	testUint64BinaryR16(0x07fffffff, 0xc00000007fffffff, 0x400000007fffffff, 0x4000000000000000, 0x000000000, 0x07fffffff, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0x07fffffff, true);
	testUint64BinaryL6(0xffffffff00000000, 0xffffffff7fffffff, 0x17fffffff, 0x8000000100000000, 0x000000000, 0x07fffffff, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0x07fffffff, true);
	testUint64BinaryR17(0x07fffffff, 0xffffffff7fffffff, 0x17fffffff, 0x8000000100000000, 0x000000000, 0x07fffffff, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0x07fffffff, true);
	testUint64BinaryL6(0xffffffffffffff9c, 0x07fffff9b, 0x080000063, 0xffffffce00000064, 0x000000000, 0x07fffffff, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0x000000063, true);
	testUint64BinaryR18(0x07fffffff, 0x07fffff9b, 0x080000063, 0xffffffce00000064, 0x000000000, 0x07fffffff, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0x000000063, true);
	testUint64BinaryL6(0xffffffffffffffff, 0x07ffffffe, 0x080000000, 0xffffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0x000000000, true);
	testUint64BinaryR19(0x07fffffff, 0x07ffffffe, 0x080000000, 0xffffffff80000001, 0x000000000, 0x07fffffff, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0x000000000, true);
	testUint64BinaryL6(0x789abcdef0123456, 0x789abcdf70123455, 0x876543218fedcba9, 0xff6e5d4c0fedcbaa, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testUint64BinaryR20(0x07fffffff, 0x789abcdf70123455, 0x876543218fedcba9, 0xff6e5d4c0fedcbaa, 0x000000000, 0x07fffffff, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x00fedcba9, true);
	testUint64BinaryL6(0xfedcba9876543210, 0xfedcba98f654320f, 0x123456809abcdef, 0x3c4d5e6f89abcdf0, 0x000000000, 0x07fffffff, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0x009abcdef, true);
	testUint64BinaryR21(0x07fffffff, 0xfedcba98f654320f, 0x123456809abcdef, 0x3c4d5e6f89abcdf0, 0x000000000, 0x07fffffff, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0x009abcdef, true);
	testUint64ShiftL6(0x000000000, 0x07fffffff, 0x07fffffff);
	testUint64ShiftR0(0x07fffffff, 0x07fffffff, 0x07fffffff);
	testUint64ShiftL6(0x000000001, 0x0fffffffe, 0x03fffffff);
	testUint64ShiftR1(0x07fffffff, 0x0fffffffe, 0x03fffffff);
	testUint64ShiftL6(0x000000002, 0x1fffffffc, 0x01fffffff);
	testUint64ShiftR2(0x07fffffff, 0x1fffffffc, 0x01fffffff);
	testUint64ShiftL6(0x000000003, 0x3fffffff8, 0x00fffffff);
	testUint64ShiftR3(0x07fffffff, 0x3fffffff8, 0x00fffffff);
	testUint64ShiftL6(0x00000000f, 0x3fffffff8000, 0x00000ffff);
	testUint64ShiftR4(0x07fffffff, 0x3fffffff8000, 0x00000ffff);
	testUint64ShiftL6(0x000000010, 0x7fffffff0000, 0x000007fff);
	testUint64ShiftR5(0x07fffffff, 0x7fffffff0000, 0x000007fff);
	testUint64ShiftL6(0x000000011, 0xfffffffe0000, 0x000003fff);
	testUint64ShiftR6(0x07fffffff, 0xfffffffe0000, 0x000003fff);
	testUint64ShiftL6(0x00000001f, 0x3fffffff80000000, 0x000000000);
	testUint64ShiftR7(0x07fffffff, 0x3fffffff80000000, 0x000000000);
	testUint64ShiftL6(0x000000020, 0x7fffffff00000000, 0x000000000);
	testUint64ShiftR8(0x07fffffff, 0x7fffffff00000000, 0x000000000);
	testUint64ShiftL6(0x000000021, 0xfffffffe00000000, 0x000000000);
	testUint64ShiftR9(0x07fffffff, 0xfffffffe00000000, 0x000000000);
	testUint64ShiftL6(0x00000003d, 0xe000000000000000, 0x000000000);
	testUint64ShiftR10(0x07fffffff, 0xe000000000000000, 0x000000000);
	testUint64ShiftL6(0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64ShiftR11(0x07fffffff, 0xc000000000000000, 0x000000000);
	testUint64ShiftL6(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x07fffffff, 0x8000000000000000, 0x000000000);
	testUint64ShiftL6(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x07fffffff, 0x000000000, 0x000000000);
	testUint64ShiftL6(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x07fffffff, 0x000000000, 0x000000000);
}
func test95() {
	testUint64BinaryL7(0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testUint64BinaryR0(0x080000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000000, 0x080000000, 0x080000000, false);
	testUint64BinaryL7(0x000000001, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testUint64BinaryR1(0x080000000, 0x080000001, 0x07fffffff, 0x080000000, 0x080000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000000, true);
	testUint64BinaryL7(0x000000002, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testUint64BinaryR2(0x080000000, 0x080000002, 0x07ffffffe, 0x100000000, 0x040000000, 0x000000000, 0x000000000, 0x080000002, 0x080000002, 0x080000000, true);
	testUint64BinaryL7(0x000000003, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testUint64BinaryR3(0x080000000, 0x080000003, 0x07ffffffd, 0x180000000, 0x02aaaaaaa, 0x000000002, 0x000000000, 0x080000003, 0x080000003, 0x080000000, true);
	testUint64BinaryL7(0x000000064, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testUint64BinaryR4(0x080000000, 0x080000064, 0x07fffff9c, 0x3200000000, 0x00147ae14, 0x000000030, 0x000000000, 0x080000064, 0x080000064, 0x080000000, true);
	testUint64BinaryL7(0x000002711, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testUint64BinaryR5(0x080000000, 0x080002711, 0x07fffd8ef, 0x138880000000, 0x0000346c6, 0x0000022da, 0x000000000, 0x080002711, 0x080002711, 0x080000000, true);
	testUint64BinaryL7(0x07fffffff, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testUint64BinaryR6(0x080000000, 0x0ffffffff, 0x000000001, 0x3fffffff80000000, 0x000000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x080000000, true);
	testUint64BinaryL7(0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR7(0x080000000, 0x100000000, 0x000000000, 0x4000000000000000, 0x000000001, 0x000000000, 0x080000000, 0x080000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL7(0x080000001, 0x100000001, 0xffffffffffffffff, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testUint64BinaryR8(0x080000000, 0x100000001, 0xffffffffffffffff, 0x4000000080000000, 0x000000000, 0x080000000, 0x080000000, 0x080000001, 0x000000001, 0x000000000, true);
	testUint64BinaryL7(0x0c0000000, 0x140000000, 0xffffffffc0000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testUint64BinaryR9(0x080000000, 0x140000000, 0xffffffffc0000000, 0x6000000000000000, 0x000000000, 0x080000000, 0x080000000, 0x0c0000000, 0x040000000, 0x000000000, true);
	testUint64BinaryL7(0x0ffffffff, 0x17fffffff, 0xffffffff80000001, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testUint64BinaryR10(0x080000000, 0x17fffffff, 0xffffffff80000001, 0x7fffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x000000000, true);
	testUint64BinaryL7(0x100000000, 0x180000000, 0xffffffff80000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testUint64BinaryR11(0x080000000, 0x180000000, 0xffffffff80000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0x180000000, 0x180000000, 0x080000000, true);
	testUint64BinaryL7(0x100000001, 0x180000001, 0xffffffff7fffffff, 0x8000000080000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testUint64BinaryR12(0x080000000, 0x180000001, 0xffffffff7fffffff, 0x8000000080000000, 0x000000000, 0x080000000, 0x000000000, 0x180000001, 0x180000001, 0x080000000, true);
	testUint64BinaryL7(0x200000000, 0x280000000, 0xfffffffe80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testUint64BinaryR13(0x080000000, 0x280000000, 0xfffffffe80000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0x280000000, 0x280000000, 0x080000000, true);
	testUint64BinaryL7(0x7fffffffffffd8f0, 0x800000007fffd8f0, 0x8000000080002710, 0xffffec7800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testUint64BinaryR14(0x080000000, 0x800000007fffd8f0, 0x8000000080002710, 0xffffec7800000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x000000000, true);
	testUint64BinaryL7(0x7fffffffffffffff, 0x800000007fffffff, 0x8000000080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testUint64BinaryR15(0x080000000, 0x800000007fffffff, 0x8000000080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x000000000, true);
	testUint64BinaryL7(0xc000000000000000, 0xc000000080000000, 0x4000000080000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0x080000000, true);
	testUint64BinaryR16(0x080000000, 0xc000000080000000, 0x4000000080000000, 0x000000000, 0x000000000, 0x080000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0x080000000, true);
	testUint64BinaryL7(0xffffffff00000000, 0xffffffff80000000, 0x180000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0x080000000, true);
	testUint64BinaryR17(0x080000000, 0xffffffff80000000, 0x180000000, 0x8000000000000000, 0x000000000, 0x080000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0x080000000, true);
	testUint64BinaryL7(0xffffffffffffff9c, 0x07fffff9c, 0x080000064, 0xffffffce00000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0x000000000, true);
	testUint64BinaryR18(0x080000000, 0x07fffff9c, 0x080000064, 0xffffffce00000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0x000000000, true);
	testUint64BinaryL7(0xffffffffffffffff, 0x07fffffff, 0x080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0x000000000, true);
	testUint64BinaryR19(0x080000000, 0x07fffffff, 0x080000001, 0xffffffff80000000, 0x000000000, 0x080000000, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0x000000000, true);
	testUint64BinaryL7(0x789abcdef0123456, 0x789abcdf70123456, 0x876543218fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testUint64BinaryR20(0x080000000, 0x789abcdf70123456, 0x876543218fedcbaa, 0x78091a2b00000000, 0x000000000, 0x080000000, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x000000000, true);
	testUint64BinaryL7(0xfedcba9876543210, 0xfedcba98f6543210, 0x123456809abcdf0, 0x3b2a190800000000, 0x000000000, 0x080000000, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0x080000000, true);
	testUint64BinaryR21(0x080000000, 0xfedcba98f6543210, 0x123456809abcdf0, 0x3b2a190800000000, 0x000000000, 0x080000000, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0x080000000, true);
	testUint64ShiftL7(0x000000000, 0x080000000, 0x080000000);
	testUint64ShiftR0(0x080000000, 0x080000000, 0x080000000);
	testUint64ShiftL7(0x000000001, 0x100000000, 0x040000000);
	testUint64ShiftR1(0x080000000, 0x100000000, 0x040000000);
	testUint64ShiftL7(0x000000002, 0x200000000, 0x020000000);
	testUint64ShiftR2(0x080000000, 0x200000000, 0x020000000);
	testUint64ShiftL7(0x000000003, 0x400000000, 0x010000000);
	testUint64ShiftR3(0x080000000, 0x400000000, 0x010000000);
	testUint64ShiftL7(0x00000000f, 0x400000000000, 0x000010000);
	testUint64ShiftR4(0x080000000, 0x400000000000, 0x000010000);
	testUint64ShiftL7(0x000000010, 0x800000000000, 0x000008000);
	testUint64ShiftR5(0x080000000, 0x800000000000, 0x000008000);
	testUint64ShiftL7(0x000000011, 0x1000000000000, 0x000004000);
	testUint64ShiftR6(0x080000000, 0x1000000000000, 0x000004000);
	testUint64ShiftL7(0x00000001f, 0x4000000000000000, 0x000000001);
	testUint64ShiftR7(0x080000000, 0x4000000000000000, 0x000000001);
	testUint64ShiftL7(0x000000020, 0x8000000000000000, 0x000000000);
	testUint64ShiftR8(0x080000000, 0x8000000000000000, 0x000000000);
	testUint64ShiftL7(0x000000021, 0x000000000, 0x000000000);
	testUint64ShiftR9(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x00000003d, 0x000000000, 0x000000000);
	testUint64ShiftR10(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x080000000, 0x000000000, 0x000000000);
	testUint64ShiftL7(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x080000000, 0x000000000, 0x000000000);
}
func test96() {
	testUint64BinaryL8(0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testUint64BinaryR0(0x080000001, 0x080000001, 0x080000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x080000001, 0x080000001, 0x080000001, false);
	testUint64BinaryL8(0x000000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testUint64BinaryR1(0x080000001, 0x080000002, 0x080000000, 0x080000001, 0x080000001, 0x000000000, 0x000000001, 0x080000001, 0x080000000, 0x080000000, true);
	testUint64BinaryL8(0x000000002, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testUint64BinaryR2(0x080000001, 0x080000003, 0x07fffffff, 0x100000002, 0x040000000, 0x000000001, 0x000000000, 0x080000003, 0x080000003, 0x080000001, true);
	testUint64BinaryL8(0x000000003, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testUint64BinaryR3(0x080000001, 0x080000004, 0x07ffffffe, 0x180000003, 0x02aaaaaab, 0x000000000, 0x000000001, 0x080000003, 0x080000002, 0x080000000, true);
	testUint64BinaryL8(0x000000064, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testUint64BinaryR4(0x080000001, 0x080000065, 0x07fffff9d, 0x3200000064, 0x00147ae14, 0x000000031, 0x000000000, 0x080000065, 0x080000065, 0x080000001, true);
	testUint64BinaryL8(0x000002711, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testUint64BinaryR5(0x080000001, 0x080002712, 0x07fffd8f0, 0x138880002711, 0x0000346c6, 0x0000022db, 0x000000001, 0x080002711, 0x080002710, 0x080000000, true);
	testUint64BinaryL8(0x07fffffff, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testUint64BinaryR6(0x080000001, 0x100000000, 0x000000002, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x080000000, true);
	testUint64BinaryL8(0x080000000, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testUint64BinaryR7(0x080000001, 0x100000001, 0x000000001, 0x4000000080000000, 0x000000001, 0x000000001, 0x080000000, 0x080000001, 0x000000001, 0x000000001, true);
	testUint64BinaryL8(0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testUint64BinaryR8(0x080000001, 0x100000002, 0x000000000, 0x4000000100000001, 0x000000001, 0x000000000, 0x080000001, 0x080000001, 0x000000000, 0x000000000, true);
	testUint64BinaryL8(0x0c0000000, 0x140000001, 0xffffffffc0000001, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testUint64BinaryR9(0x080000001, 0x140000001, 0xffffffffc0000001, 0x60000000c0000000, 0x000000000, 0x080000001, 0x080000000, 0x0c0000001, 0x040000001, 0x000000001, true);
	testUint64BinaryL8(0x0ffffffff, 0x180000000, 0xffffffff80000002, 0x800000007fffffff, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testUint64BinaryR10(0x080000001, 0x180000000, 0xffffffff80000002, 0x800000007fffffff, 0x000000000, 0x080000001, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x000000000, true);
	testUint64BinaryL8(0x100000000, 0x180000001, 0xffffffff80000001, 0x8000000100000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testUint64BinaryR11(0x080000001, 0x180000001, 0xffffffff80000001, 0x8000000100000000, 0x000000000, 0x080000001, 0x000000000, 0x180000001, 0x180000001, 0x080000001, true);
	testUint64BinaryL8(0x100000001, 0x180000002, 0xffffffff80000000, 0x8000000180000001, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testUint64BinaryR12(0x080000001, 0x180000002, 0xffffffff80000000, 0x8000000180000001, 0x000000000, 0x080000001, 0x000000001, 0x180000001, 0x180000000, 0x080000000, true);
	testUint64BinaryL8(0x200000000, 0x280000001, 0xfffffffe80000001, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testUint64BinaryR13(0x080000001, 0x280000001, 0xfffffffe80000001, 0x200000000, 0x000000000, 0x080000001, 0x000000000, 0x280000001, 0x280000001, 0x080000001, true);
	testUint64BinaryL8(0x7fffffffffffd8f0, 0x800000007fffd8f1, 0x8000000080002711, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testUint64BinaryR14(0x080000001, 0x800000007fffd8f1, 0x8000000080002711, 0x7fffec77ffffd8f0, 0x000000000, 0x080000001, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x000000001, true);
	testUint64BinaryL8(0x7fffffffffffffff, 0x8000000080000000, 0x8000000080000002, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testUint64BinaryR15(0x080000001, 0x8000000080000000, 0x8000000080000002, 0x7fffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x000000000, true);
	testUint64BinaryL8(0xc000000000000000, 0xc000000080000001, 0x4000000080000001, 0xc000000000000000, 0x000000000, 0x080000001, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0x080000001, true);
	testUint64BinaryR16(0x080000001, 0xc000000080000001, 0x4000000080000001, 0xc000000000000000, 0x000000000, 0x080000001, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0x080000001, true);
	testUint64BinaryL8(0xffffffff00000000, 0xffffffff80000001, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0x080000001, true);
	testUint64BinaryR17(0x080000001, 0xffffffff80000001, 0x180000001, 0x7fffffff00000000, 0x000000000, 0x080000001, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0x080000001, true);
	testUint64BinaryL8(0xffffffffffffff9c, 0x07fffff9d, 0x080000065, 0xffffffcdffffff9c, 0x000000000, 0x080000001, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0x000000001, true);
	testUint64BinaryR18(0x080000001, 0x07fffff9d, 0x080000065, 0xffffffcdffffff9c, 0x000000000, 0x080000001, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0x000000001, true);
	testUint64BinaryL8(0xffffffffffffffff, 0x080000000, 0x080000002, 0xffffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0x000000000, true);
	testUint64BinaryR19(0x080000001, 0x080000000, 0x080000002, 0xffffffff7fffffff, 0x000000000, 0x080000001, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0x000000000, true);
	testUint64BinaryL8(0x789abcdef0123456, 0x789abcdf70123457, 0x876543218fedcbab, 0xf0a3d709f0123456, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testUint64BinaryR20(0x080000001, 0x789abcdf70123457, 0x876543218fedcbab, 0xf0a3d709f0123456, 0x000000000, 0x080000001, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x000000001, true);
	testUint64BinaryL8(0xfedcba9876543210, 0xfedcba98f6543211, 0x123456809abcdf1, 0x3a06d3a076543210, 0x000000000, 0x080000001, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0x080000001, true);
	testUint64BinaryR21(0x080000001, 0xfedcba98f6543211, 0x123456809abcdf1, 0x3a06d3a076543210, 0x000000000, 0x080000001, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0x080000001, true);
	testUint64ShiftL8(0x000000000, 0x080000001, 0x080000001);
	testUint64ShiftR0(0x080000001, 0x080000001, 0x080000001);
	testUint64ShiftL8(0x000000001, 0x100000002, 0x040000000);
	testUint64ShiftR1(0x080000001, 0x100000002, 0x040000000);
	testUint64ShiftL8(0x000000002, 0x200000004, 0x020000000);
	testUint64ShiftR2(0x080000001, 0x200000004, 0x020000000);
	testUint64ShiftL8(0x000000003, 0x400000008, 0x010000000);
	testUint64ShiftR3(0x080000001, 0x400000008, 0x010000000);
	testUint64ShiftL8(0x00000000f, 0x400000008000, 0x000010000);
	testUint64ShiftR4(0x080000001, 0x400000008000, 0x000010000);
	testUint64ShiftL8(0x000000010, 0x800000010000, 0x000008000);
	testUint64ShiftR5(0x080000001, 0x800000010000, 0x000008000);
	testUint64ShiftL8(0x000000011, 0x1000000020000, 0x000004000);
	testUint64ShiftR6(0x080000001, 0x1000000020000, 0x000004000);
	testUint64ShiftL8(0x00000001f, 0x4000000080000000, 0x000000001);
	testUint64ShiftR7(0x080000001, 0x4000000080000000, 0x000000001);
	testUint64ShiftL8(0x000000020, 0x8000000100000000, 0x000000000);
	testUint64ShiftR8(0x080000001, 0x8000000100000000, 0x000000000);
	testUint64ShiftL8(0x000000021, 0x200000000, 0x000000000);
	testUint64ShiftR9(0x080000001, 0x200000000, 0x000000000);
	testUint64ShiftL8(0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64ShiftR10(0x080000001, 0x2000000000000000, 0x000000000);
	testUint64ShiftL8(0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64ShiftR11(0x080000001, 0x4000000000000000, 0x000000000);
	testUint64ShiftL8(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x080000001, 0x8000000000000000, 0x000000000);
	testUint64ShiftL8(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x080000001, 0x000000000, 0x000000000);
	testUint64ShiftL8(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x080000001, 0x000000000, 0x000000000);
}
func test97() {
	testUint64BinaryL9(0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testUint64BinaryR0(0x0c0000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0c0000000, false);
	testUint64BinaryL9(0x000000001, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testUint64BinaryR1(0x0c0000000, 0x0c0000001, 0x0bfffffff, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, 0x0c0000001, 0x0c0000001, 0x0c0000000, true);
	testUint64BinaryL9(0x000000002, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testUint64BinaryR2(0x0c0000000, 0x0c0000002, 0x0bffffffe, 0x180000000, 0x060000000, 0x000000000, 0x000000000, 0x0c0000002, 0x0c0000002, 0x0c0000000, true);
	testUint64BinaryL9(0x000000003, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testUint64BinaryR3(0x0c0000000, 0x0c0000003, 0x0bffffffd, 0x240000000, 0x040000000, 0x000000000, 0x000000000, 0x0c0000003, 0x0c0000003, 0x0c0000000, true);
	testUint64BinaryL9(0x000000064, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testUint64BinaryR4(0x0c0000000, 0x0c0000064, 0x0bfffff9c, 0x4b00000000, 0x001eb851e, 0x000000048, 0x000000000, 0x0c0000064, 0x0c0000064, 0x0c0000000, true);
	testUint64BinaryL9(0x000002711, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testUint64BinaryR5(0x0c0000000, 0x0c0002711, 0x0bfffd8ef, 0x1d4cc0000000, 0x00004ea2a, 0x000000d36, 0x000000000, 0x0c0002711, 0x0c0002711, 0x0c0000000, true);
	testUint64BinaryL9(0x07fffffff, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testUint64BinaryR6(0x0c0000000, 0x13fffffff, 0x040000001, 0x5fffffff40000000, 0x000000001, 0x040000001, 0x040000000, 0x0ffffffff, 0x0bfffffff, 0x080000000, true);
	testUint64BinaryL9(0x080000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testUint64BinaryR7(0x0c0000000, 0x140000000, 0x040000000, 0x6000000000000000, 0x000000001, 0x040000000, 0x080000000, 0x0c0000000, 0x040000000, 0x040000000, true);
	testUint64BinaryL9(0x080000001, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testUint64BinaryR8(0x0c0000000, 0x140000001, 0x03fffffff, 0x60000000c0000000, 0x000000001, 0x03fffffff, 0x080000000, 0x0c0000001, 0x040000001, 0x040000000, true);
	testUint64BinaryL9(0x0c0000000, 0x180000000, 0x000000000, 0x9000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR9(0x0c0000000, 0x180000000, 0x000000000, 0x9000000000000000, 0x000000001, 0x000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL9(0x0ffffffff, 0x1bfffffff, 0xffffffffc0000001, 0xbfffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testUint64BinaryR10(0x0c0000000, 0x1bfffffff, 0xffffffffc0000001, 0xbfffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x000000000, true);
	testUint64BinaryL9(0x100000000, 0x1c0000000, 0xffffffffc0000000, 0xc000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testUint64BinaryR11(0x0c0000000, 0x1c0000000, 0xffffffffc0000000, 0xc000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x0c0000000, true);
	testUint64BinaryL9(0x100000001, 0x1c0000001, 0xffffffffbfffffff, 0xc0000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testUint64BinaryR12(0x0c0000000, 0x1c0000001, 0xffffffffbfffffff, 0xc0000000c0000000, 0x000000000, 0x0c0000000, 0x000000000, 0x1c0000001, 0x1c0000001, 0x0c0000000, true);
	testUint64BinaryL9(0x200000000, 0x2c0000000, 0xfffffffec0000000, 0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testUint64BinaryR13(0x0c0000000, 0x2c0000000, 0xfffffffec0000000, 0x8000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x0c0000000, true);
	testUint64BinaryL9(0x7fffffffffffd8f0, 0x80000000bfffd8f0, 0x80000000c0002710, 0xffffe2b400000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testUint64BinaryR14(0x0c0000000, 0x80000000bfffd8f0, 0x80000000c0002710, 0xffffe2b400000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x000000000, true);
	testUint64BinaryL9(0x7fffffffffffffff, 0x80000000bfffffff, 0x80000000c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testUint64BinaryR15(0x0c0000000, 0x80000000bfffffff, 0x80000000c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x000000000, true);
	testUint64BinaryL9(0xc000000000000000, 0xc0000000c0000000, 0x40000000c0000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0x0c0000000, true);
	testUint64BinaryR16(0x0c0000000, 0xc0000000c0000000, 0x40000000c0000000, 0x000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0x0c0000000, true);
	testUint64BinaryL9(0xffffffff00000000, 0xffffffffc0000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0x0c0000000, true);
	testUint64BinaryR17(0x0c0000000, 0xffffffffc0000000, 0x1c0000000, 0x4000000000000000, 0x000000000, 0x0c0000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0x0c0000000, true);
	testUint64BinaryL9(0xffffffffffffff9c, 0x0bfffff9c, 0x0c0000064, 0xffffffb500000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0x000000000, true);
	testUint64BinaryR18(0x0c0000000, 0x0bfffff9c, 0x0c0000064, 0xffffffb500000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0x000000000, true);
	testUint64BinaryL9(0xffffffffffffffff, 0x0bfffffff, 0x0c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0x000000000, true);
	testUint64BinaryR19(0x0c0000000, 0x0bfffffff, 0x0c0000001, 0xffffffff40000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0x000000000, true);
	testUint64BinaryL9(0x789abcdef0123456, 0x789abcdfb0123456, 0x87654321cfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testUint64BinaryR20(0x0c0000000, 0x789abcdfb0123456, 0x87654321cfedcbaa, 0x340da74080000000, 0x000000000, 0x0c0000000, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x000000000, true);
	testUint64BinaryL9(0xfedcba9876543210, 0xfedcba9936543210, 0x123456849abcdf0, 0x58bf258c00000000, 0x000000000, 0x0c0000000, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0x080000000, true);
	testUint64BinaryR21(0x0c0000000, 0xfedcba9936543210, 0x123456849abcdf0, 0x58bf258c00000000, 0x000000000, 0x0c0000000, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0x080000000, true);
	testUint64ShiftL9(0x000000000, 0x0c0000000, 0x0c0000000);
	testUint64ShiftR0(0x0c0000000, 0x0c0000000, 0x0c0000000);
	testUint64ShiftL9(0x000000001, 0x180000000, 0x060000000);
	testUint64ShiftR1(0x0c0000000, 0x180000000, 0x060000000);
	testUint64ShiftL9(0x000000002, 0x300000000, 0x030000000);
	testUint64ShiftR2(0x0c0000000, 0x300000000, 0x030000000);
	testUint64ShiftL9(0x000000003, 0x600000000, 0x018000000);
	testUint64ShiftR3(0x0c0000000, 0x600000000, 0x018000000);
	testUint64ShiftL9(0x00000000f, 0x600000000000, 0x000018000);
	testUint64ShiftR4(0x0c0000000, 0x600000000000, 0x000018000);
	testUint64ShiftL9(0x000000010, 0xc00000000000, 0x00000c000);
	testUint64ShiftR5(0x0c0000000, 0xc00000000000, 0x00000c000);
	testUint64ShiftL9(0x000000011, 0x1800000000000, 0x000006000);
	testUint64ShiftR6(0x0c0000000, 0x1800000000000, 0x000006000);
	testUint64ShiftL9(0x00000001f, 0x6000000000000000, 0x000000001);
	testUint64ShiftR7(0x0c0000000, 0x6000000000000000, 0x000000001);
	testUint64ShiftL9(0x000000020, 0xc000000000000000, 0x000000000);
	testUint64ShiftR8(0x0c0000000, 0xc000000000000000, 0x000000000);
	testUint64ShiftL9(0x000000021, 0x8000000000000000, 0x000000000);
	testUint64ShiftR9(0x0c0000000, 0x8000000000000000, 0x000000000);
	testUint64ShiftL9(0x00000003d, 0x000000000, 0x000000000);
	testUint64ShiftR10(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x0c0000000, 0x000000000, 0x000000000);
	testUint64ShiftL9(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x0c0000000, 0x000000000, 0x000000000);
}
func test98() {
	testUint64BinaryL10(0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testUint64BinaryR0(0x0ffffffff, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x0ffffffff, false);
	testUint64BinaryL10(0x000000001, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testUint64BinaryR1(0x0ffffffff, 0x100000000, 0x0fffffffe, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000001, 0x0ffffffff, 0x0fffffffe, 0x0fffffffe, true);
	testUint64BinaryL10(0x000000002, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testUint64BinaryR2(0x0ffffffff, 0x100000001, 0x0fffffffd, 0x1fffffffe, 0x07fffffff, 0x000000001, 0x000000002, 0x0ffffffff, 0x0fffffffd, 0x0fffffffd, true);
	testUint64BinaryL10(0x000000003, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testUint64BinaryR3(0x0ffffffff, 0x100000002, 0x0fffffffc, 0x2fffffffd, 0x055555555, 0x000000000, 0x000000003, 0x0ffffffff, 0x0fffffffc, 0x0fffffffc, true);
	testUint64BinaryL10(0x000000064, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testUint64BinaryR4(0x0ffffffff, 0x100000063, 0x0ffffff9b, 0x63ffffff9c, 0x0028f5c28, 0x00000005f, 0x000000064, 0x0ffffffff, 0x0ffffff9b, 0x0ffffff9b, true);
	testUint64BinaryL10(0x000002711, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testUint64BinaryR5(0x0ffffffff, 0x100002710, 0x0ffffd8ee, 0x2710ffffd8ef, 0x000068d8d, 0x000001ea2, 0x000002711, 0x0ffffffff, 0x0ffffd8ee, 0x0ffffd8ee, true);
	testUint64BinaryL10(0x07fffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testUint64BinaryR6(0x0ffffffff, 0x17ffffffe, 0x080000000, 0x7ffffffe80000001, 0x000000002, 0x000000001, 0x07fffffff, 0x0ffffffff, 0x080000000, 0x080000000, true);
	testUint64BinaryL10(0x080000000, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testUint64BinaryR7(0x0ffffffff, 0x17fffffff, 0x07fffffff, 0x7fffffff80000000, 0x000000001, 0x07fffffff, 0x080000000, 0x0ffffffff, 0x07fffffff, 0x07fffffff, true);
	testUint64BinaryL10(0x080000001, 0x180000000, 0x07ffffffe, 0x800000007fffffff, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64BinaryR8(0x0ffffffff, 0x180000000, 0x07ffffffe, 0x800000007fffffff, 0x000000001, 0x07ffffffe, 0x080000001, 0x0ffffffff, 0x07ffffffe, 0x07ffffffe, true);
	testUint64BinaryL10(0x0c0000000, 0x1bfffffff, 0x03fffffff, 0xbfffffff40000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testUint64BinaryR9(0x0ffffffff, 0x1bfffffff, 0x03fffffff, 0xbfffffff40000000, 0x000000001, 0x03fffffff, 0x0c0000000, 0x0ffffffff, 0x03fffffff, 0x03fffffff, true);
	testUint64BinaryL10(0x0ffffffff, 0x1fffffffe, 0x000000000, 0xfffffffe00000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryR10(0x0ffffffff, 0x1fffffffe, 0x000000000, 0xfffffffe00000001, 0x000000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryL10(0x100000000, 0x1ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testUint64BinaryR11(0x0ffffffff, 0x1ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x0ffffffff, true);
	testUint64BinaryL10(0x100000001, 0x200000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testUint64BinaryR12(0x0ffffffff, 0x200000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0x000000000, 0x0ffffffff, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x0fffffffe, true);
	testUint64BinaryL10(0x200000000, 0x2ffffffff, 0xfffffffeffffffff, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testUint64BinaryR13(0x0ffffffff, 0x2ffffffff, 0xfffffffeffffffff, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x0ffffffff, true);
	testUint64BinaryL10(0x7fffffffffffd8f0, 0x80000000ffffd8ef, 0x800000010000270f, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testUint64BinaryR14(0x0ffffffff, 0x80000000ffffd8ef, 0x800000010000270f, 0x7fffd8f000002710, 0x000000000, 0x0ffffffff, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x00000270f, true);
	testUint64BinaryL10(0x7fffffffffffffff, 0x80000000fffffffe, 0x8000000100000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testUint64BinaryR15(0x0ffffffff, 0x80000000fffffffe, 0x8000000100000000, 0x7fffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x000000000, true);
	testUint64BinaryL10(0xc000000000000000, 0xc0000000ffffffff, 0x40000000ffffffff, 0x4000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0x0ffffffff, true);
	testUint64BinaryR16(0x0ffffffff, 0xc0000000ffffffff, 0x40000000ffffffff, 0x4000000000000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0x0ffffffff, true);
	testUint64BinaryL10(0xffffffff00000000, 0xffffffffffffffff, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x0ffffffff, true);
	testUint64BinaryR17(0x0ffffffff, 0xffffffffffffffff, 0x1ffffffff, 0x100000000, 0x000000000, 0x0ffffffff, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x0ffffffff, true);
	testUint64BinaryL10(0xffffffffffffff9c, 0x0ffffff9b, 0x100000063, 0xffffff9c00000064, 0x000000000, 0x0ffffffff, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0x000000063, true);
	testUint64BinaryR18(0x0ffffffff, 0x0ffffff9b, 0x100000063, 0xffffff9c00000064, 0x000000000, 0x0ffffffff, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0x000000063, true);
	testUint64BinaryL10(0xffffffffffffffff, 0x0fffffffe, 0x100000000, 0xffffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, true);
	testUint64BinaryR19(0x0ffffffff, 0x0fffffffe, 0x100000000, 0xffffffff00000001, 0x000000000, 0x0ffffffff, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0x000000000, true);
	testUint64BinaryL10(0x789abcdef0123456, 0x789abcdff0123455, 0x876543220fedcba9, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testUint64BinaryR20(0x0ffffffff, 0x789abcdff0123455, 0x876543220fedcba9, 0x777777770fedcbaa, 0x000000000, 0x0ffffffff, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x00fedcba9, true);
	testUint64BinaryL10(0xfedcba9876543210, 0xfedcba997654320f, 0x123456889abcdef, 0x7777777789abcdf0, 0x000000000, 0x0ffffffff, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0x089abcdef, true);
	testUint64BinaryR21(0x0ffffffff, 0xfedcba997654320f, 0x123456889abcdef, 0x7777777789abcdf0, 0x000000000, 0x0ffffffff, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0x089abcdef, true);
	testUint64ShiftL10(0x000000000, 0x0ffffffff, 0x0ffffffff);
	testUint64ShiftR0(0x0ffffffff, 0x0ffffffff, 0x0ffffffff);
	testUint64ShiftL10(0x000000001, 0x1fffffffe, 0x07fffffff);
	testUint64ShiftR1(0x0ffffffff, 0x1fffffffe, 0x07fffffff);
	testUint64ShiftL10(0x000000002, 0x3fffffffc, 0x03fffffff);
	testUint64ShiftR2(0x0ffffffff, 0x3fffffffc, 0x03fffffff);
	testUint64ShiftL10(0x000000003, 0x7fffffff8, 0x01fffffff);
	testUint64ShiftR3(0x0ffffffff, 0x7fffffff8, 0x01fffffff);
	testUint64ShiftL10(0x00000000f, 0x7fffffff8000, 0x00001ffff);
	testUint64ShiftR4(0x0ffffffff, 0x7fffffff8000, 0x00001ffff);
	testUint64ShiftL10(0x000000010, 0xffffffff0000, 0x00000ffff);
	testUint64ShiftR5(0x0ffffffff, 0xffffffff0000, 0x00000ffff);
	testUint64ShiftL10(0x000000011, 0x1fffffffe0000, 0x000007fff);
	testUint64ShiftR6(0x0ffffffff, 0x1fffffffe0000, 0x000007fff);
	testUint64ShiftL10(0x00000001f, 0x7fffffff80000000, 0x000000001);
	testUint64ShiftR7(0x0ffffffff, 0x7fffffff80000000, 0x000000001);
	testUint64ShiftL10(0x000000020, 0xffffffff00000000, 0x000000000);
	testUint64ShiftR8(0x0ffffffff, 0xffffffff00000000, 0x000000000);
	testUint64ShiftL10(0x000000021, 0xfffffffe00000000, 0x000000000);
	testUint64ShiftR9(0x0ffffffff, 0xfffffffe00000000, 0x000000000);
	testUint64ShiftL10(0x00000003d, 0xe000000000000000, 0x000000000);
	testUint64ShiftR10(0x0ffffffff, 0xe000000000000000, 0x000000000);
	testUint64ShiftL10(0x00000003e, 0xc000000000000000, 0x000000000);
	testUint64ShiftR11(0x0ffffffff, 0xc000000000000000, 0x000000000);
	testUint64ShiftL10(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x0ffffffff, 0x8000000000000000, 0x000000000);
	testUint64ShiftL10(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL10(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x0ffffffff, 0x000000000, 0x000000000);
}
func test99() {
	testUint64BinaryL11(0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testUint64BinaryR0(0x100000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0x100000000, false);
	testUint64BinaryL11(0x000000001, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testUint64BinaryR1(0x100000000, 0x100000001, 0x0ffffffff, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000000, true);
	testUint64BinaryL11(0x000000002, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testUint64BinaryR2(0x100000000, 0x100000002, 0x0fffffffe, 0x200000000, 0x080000000, 0x000000000, 0x000000000, 0x100000002, 0x100000002, 0x100000000, true);
	testUint64BinaryL11(0x000000003, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testUint64BinaryR3(0x100000000, 0x100000003, 0x0fffffffd, 0x300000000, 0x055555555, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000000, true);
	testUint64BinaryL11(0x000000064, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testUint64BinaryR4(0x100000000, 0x100000064, 0x0ffffff9c, 0x6400000000, 0x0028f5c28, 0x000000060, 0x000000000, 0x100000064, 0x100000064, 0x100000000, true);
	testUint64BinaryL11(0x000002711, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testUint64BinaryR5(0x100000000, 0x100002711, 0x0ffffd8ef, 0x271100000000, 0x000068d8d, 0x000001ea3, 0x000000000, 0x100002711, 0x100002711, 0x100000000, true);
	testUint64BinaryL11(0x07fffffff, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testUint64BinaryR6(0x100000000, 0x17fffffff, 0x080000001, 0x7fffffff00000000, 0x000000002, 0x000000002, 0x000000000, 0x17fffffff, 0x17fffffff, 0x100000000, true);
	testUint64BinaryL11(0x080000000, 0x180000000, 0x080000000, 0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testUint64BinaryR7(0x100000000, 0x180000000, 0x080000000, 0x8000000000000000, 0x000000002, 0x000000000, 0x000000000, 0x180000000, 0x180000000, 0x100000000, true);
	testUint64BinaryL11(0x080000001, 0x180000001, 0x07fffffff, 0x8000000100000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testUint64BinaryR8(0x100000000, 0x180000001, 0x07fffffff, 0x8000000100000000, 0x000000001, 0x07fffffff, 0x000000000, 0x180000001, 0x180000001, 0x100000000, true);
	testUint64BinaryL11(0x0c0000000, 0x1c0000000, 0x040000000, 0xc000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testUint64BinaryR9(0x100000000, 0x1c0000000, 0x040000000, 0xc000000000000000, 0x000000001, 0x040000000, 0x000000000, 0x1c0000000, 0x1c0000000, 0x100000000, true);
	testUint64BinaryL11(0x0ffffffff, 0x1ffffffff, 0x000000001, 0xffffffff00000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testUint64BinaryR10(0x100000000, 0x1ffffffff, 0x000000001, 0xffffffff00000000, 0x000000001, 0x000000001, 0x000000000, 0x1ffffffff, 0x1ffffffff, 0x100000000, true);
	testUint64BinaryL11(0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR11(0x100000000, 0x200000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x100000000, 0x100000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL11(0x100000001, 0x200000001, 0xffffffffffffffff, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testUint64BinaryR12(0x100000000, 0x200000001, 0xffffffffffffffff, 0x100000000, 0x000000000, 0x100000000, 0x100000000, 0x100000001, 0x000000001, 0x000000000, true);
	testUint64BinaryL11(0x200000000, 0x300000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testUint64BinaryR13(0x100000000, 0x300000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0x300000000, 0x300000000, 0x100000000, true);
	testUint64BinaryL11(0x7fffffffffffd8f0, 0x80000000ffffd8f0, 0x8000000100002710, 0xffffd8f000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testUint64BinaryR14(0x100000000, 0x80000000ffffd8f0, 0x8000000100002710, 0xffffd8f000000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x000000000, true);
	testUint64BinaryL11(0x7fffffffffffffff, 0x80000000ffffffff, 0x8000000100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testUint64BinaryR15(0x100000000, 0x80000000ffffffff, 0x8000000100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x000000000, true);
	testUint64BinaryL11(0xc000000000000000, 0xc000000100000000, 0x4000000100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0x100000000, true);
	testUint64BinaryR16(0x100000000, 0xc000000100000000, 0x4000000100000000, 0x000000000, 0x000000000, 0x100000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0x100000000, true);
	testUint64BinaryL11(0xffffffff00000000, 0x000000000, 0x200000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0x000000000, true);
	testUint64BinaryR17(0x100000000, 0x000000000, 0x200000000, 0x000000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0x000000000, true);
	testUint64BinaryL11(0xffffffffffffff9c, 0x0ffffff9c, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0x000000000, true);
	testUint64BinaryR18(0x100000000, 0x0ffffff9c, 0x100000064, 0xffffff9c00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0x000000000, true);
	testUint64BinaryL11(0xffffffffffffffff, 0x0ffffffff, 0x100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0x000000000, true);
	testUint64BinaryR19(0x100000000, 0x0ffffffff, 0x100000001, 0xffffffff00000000, 0x000000000, 0x100000000, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0x000000000, true);
	testUint64BinaryL11(0x789abcdef0123456, 0x789abcdff0123456, 0x876543220fedcbaa, 0xf012345600000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testUint64BinaryR20(0x100000000, 0x789abcdff0123456, 0x876543220fedcbaa, 0xf012345600000000, 0x000000000, 0x100000000, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x100000000, true);
	testUint64BinaryL11(0xfedcba9876543210, 0xfedcba9976543210, 0x123456889abcdf0, 0x7654321000000000, 0x000000000, 0x100000000, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0x100000000, true);
	testUint64BinaryR21(0x100000000, 0xfedcba9976543210, 0x123456889abcdf0, 0x7654321000000000, 0x000000000, 0x100000000, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0x100000000, true);
	testUint64ShiftL11(0x000000000, 0x100000000, 0x100000000);
	testUint64ShiftR0(0x100000000, 0x100000000, 0x100000000);
	testUint64ShiftL11(0x000000001, 0x200000000, 0x080000000);
	testUint64ShiftR1(0x100000000, 0x200000000, 0x080000000);
	testUint64ShiftL11(0x000000002, 0x400000000, 0x040000000);
	testUint64ShiftR2(0x100000000, 0x400000000, 0x040000000);
	testUint64ShiftL11(0x000000003, 0x800000000, 0x020000000);
	testUint64ShiftR3(0x100000000, 0x800000000, 0x020000000);
	testUint64ShiftL11(0x00000000f, 0x800000000000, 0x000020000);
	testUint64ShiftR4(0x100000000, 0x800000000000, 0x000020000);
	testUint64ShiftL11(0x000000010, 0x1000000000000, 0x000010000);
	testUint64ShiftR5(0x100000000, 0x1000000000000, 0x000010000);
	testUint64ShiftL11(0x000000011, 0x2000000000000, 0x000008000);
	testUint64ShiftR6(0x100000000, 0x2000000000000, 0x000008000);
	testUint64ShiftL11(0x00000001f, 0x8000000000000000, 0x000000002);
	testUint64ShiftR7(0x100000000, 0x8000000000000000, 0x000000002);
	testUint64ShiftL11(0x000000020, 0x000000000, 0x000000001);
	testUint64ShiftR8(0x100000000, 0x000000000, 0x000000001);
	testUint64ShiftL11(0x000000021, 0x000000000, 0x000000000);
	testUint64ShiftR9(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x00000003d, 0x000000000, 0x000000000);
	testUint64ShiftR10(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftL11(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x100000000, 0x000000000, 0x000000000);
}
func test100() {
	testUint64BinaryL12(0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testUint64BinaryR0(0x100000001, 0x100000001, 0x100000001, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x100000001, 0x100000001, 0x100000001, false);
	testUint64BinaryL12(0x000000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testUint64BinaryR1(0x100000001, 0x100000002, 0x100000000, 0x100000001, 0x100000001, 0x000000000, 0x000000001, 0x100000001, 0x100000000, 0x100000000, true);
	testUint64BinaryL12(0x000000002, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testUint64BinaryR2(0x100000001, 0x100000003, 0x0ffffffff, 0x200000002, 0x080000000, 0x000000001, 0x000000000, 0x100000003, 0x100000003, 0x100000001, true);
	testUint64BinaryL12(0x000000003, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testUint64BinaryR3(0x100000001, 0x100000004, 0x0fffffffe, 0x300000003, 0x055555555, 0x000000002, 0x000000001, 0x100000003, 0x100000002, 0x100000000, true);
	testUint64BinaryL12(0x000000064, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testUint64BinaryR4(0x100000001, 0x100000065, 0x0ffffff9d, 0x6400000064, 0x0028f5c28, 0x000000061, 0x000000000, 0x100000065, 0x100000065, 0x100000001, true);
	testUint64BinaryL12(0x000002711, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testUint64BinaryR5(0x100000001, 0x100002712, 0x0ffffd8f0, 0x271100002711, 0x000068d8d, 0x000001ea4, 0x000000001, 0x100002711, 0x100002710, 0x100000000, true);
	testUint64BinaryL12(0x07fffffff, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testUint64BinaryR6(0x100000001, 0x180000000, 0x080000002, 0x7fffffff7fffffff, 0x000000002, 0x000000003, 0x000000001, 0x17fffffff, 0x17ffffffe, 0x100000000, true);
	testUint64BinaryL12(0x080000000, 0x180000001, 0x080000001, 0x8000000080000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testUint64BinaryR7(0x100000001, 0x180000001, 0x080000001, 0x8000000080000000, 0x000000002, 0x000000001, 0x000000000, 0x180000001, 0x180000001, 0x100000001, true);
	testUint64BinaryL12(0x080000001, 0x180000002, 0x080000000, 0x8000000180000001, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testUint64BinaryR8(0x100000001, 0x180000002, 0x080000000, 0x8000000180000001, 0x000000001, 0x080000000, 0x000000001, 0x180000001, 0x180000000, 0x100000000, true);
	testUint64BinaryL12(0x0c0000000, 0x1c0000001, 0x040000001, 0xc0000000c0000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testUint64BinaryR9(0x100000001, 0x1c0000001, 0x040000001, 0xc0000000c0000000, 0x000000001, 0x040000001, 0x000000000, 0x1c0000001, 0x1c0000001, 0x100000001, true);
	testUint64BinaryL12(0x0ffffffff, 0x200000000, 0x000000002, 0xffffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testUint64BinaryR10(0x100000001, 0x200000000, 0x000000002, 0xffffffffffffffff, 0x000000001, 0x000000002, 0x000000001, 0x1ffffffff, 0x1fffffffe, 0x100000000, true);
	testUint64BinaryL12(0x100000000, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testUint64BinaryR11(0x100000001, 0x200000001, 0x000000001, 0x100000000, 0x000000001, 0x000000001, 0x100000000, 0x100000001, 0x000000001, 0x000000001, true);
	testUint64BinaryL12(0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testUint64BinaryR12(0x100000001, 0x200000002, 0x000000000, 0x200000001, 0x000000001, 0x000000000, 0x100000001, 0x100000001, 0x000000000, 0x000000000, true);
	testUint64BinaryL12(0x200000000, 0x300000001, 0xffffffff00000001, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testUint64BinaryR13(0x100000001, 0x300000001, 0xffffffff00000001, 0x200000000, 0x000000000, 0x100000001, 0x000000000, 0x300000001, 0x300000001, 0x100000001, true);
	testUint64BinaryL12(0x7fffffffffffd8f0, 0x80000000ffffd8f1, 0x8000000100002711, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testUint64BinaryR14(0x100000001, 0x80000000ffffd8f1, 0x8000000100002711, 0x7fffd8efffffd8f0, 0x000000000, 0x100000001, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x000000001, true);
	testUint64BinaryL12(0x7fffffffffffffff, 0x8000000100000000, 0x8000000100000002, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testUint64BinaryR15(0x100000001, 0x8000000100000000, 0x8000000100000002, 0x7ffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x000000000, true);
	testUint64BinaryL12(0xc000000000000000, 0xc000000100000001, 0x4000000100000001, 0xc000000000000000, 0x000000000, 0x100000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0x100000001, true);
	testUint64BinaryR16(0x100000001, 0xc000000100000001, 0x4000000100000001, 0xc000000000000000, 0x000000000, 0x100000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0x100000001, true);
	testUint64BinaryL12(0xffffffff00000000, 0x000000001, 0x200000001, 0xffffffff00000000, 0x000000000, 0x100000001, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0x000000001, true);
	testUint64BinaryR17(0x100000001, 0x000000001, 0x200000001, 0xffffffff00000000, 0x000000000, 0x100000001, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0x000000001, true);
	testUint64BinaryL12(0xffffffffffffff9c, 0x0ffffff9d, 0x100000065, 0xffffff9bffffff9c, 0x000000000, 0x100000001, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0x000000001, true);
	testUint64BinaryR18(0x100000001, 0x0ffffff9d, 0x100000065, 0xffffff9bffffff9c, 0x000000000, 0x100000001, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0x000000001, true);
	testUint64BinaryL12(0xffffffffffffffff, 0x100000000, 0x100000002, 0xfffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0x000000000, true);
	testUint64BinaryR19(0x100000001, 0x100000000, 0x100000002, 0xfffffffeffffffff, 0x000000000, 0x100000001, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0x000000000, true);
	testUint64BinaryL12(0x789abcdef0123456, 0x789abcdff0123457, 0x876543220fedcbab, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testUint64BinaryR20(0x100000001, 0x789abcdff0123457, 0x876543220fedcbab, 0x68acf134f0123456, 0x000000000, 0x100000001, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x100000001, true);
	testUint64BinaryL12(0xfedcba9876543210, 0xfedcba9976543211, 0x123456889abcdf1, 0x7530eca876543210, 0x000000000, 0x100000001, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0x100000001, true);
	testUint64BinaryR21(0x100000001, 0xfedcba9976543211, 0x123456889abcdf1, 0x7530eca876543210, 0x000000000, 0x100000001, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0x100000001, true);
	testUint64ShiftL12(0x000000000, 0x100000001, 0x100000001);
	testUint64ShiftR0(0x100000001, 0x100000001, 0x100000001);
	testUint64ShiftL12(0x000000001, 0x200000002, 0x080000000);
	testUint64ShiftR1(0x100000001, 0x200000002, 0x080000000);
	testUint64ShiftL12(0x000000002, 0x400000004, 0x040000000);
	testUint64ShiftR2(0x100000001, 0x400000004, 0x040000000);
	testUint64ShiftL12(0x000000003, 0x800000008, 0x020000000);
	testUint64ShiftR3(0x100000001, 0x800000008, 0x020000000);
	testUint64ShiftL12(0x00000000f, 0x800000008000, 0x000020000);
	testUint64ShiftR4(0x100000001, 0x800000008000, 0x000020000);
	testUint64ShiftL12(0x000000010, 0x1000000010000, 0x000010000);
	testUint64ShiftR5(0x100000001, 0x1000000010000, 0x000010000);
	testUint64ShiftL12(0x000000011, 0x2000000020000, 0x000008000);
	testUint64ShiftR6(0x100000001, 0x2000000020000, 0x000008000);
	testUint64ShiftL12(0x00000001f, 0x8000000080000000, 0x000000002);
	testUint64ShiftR7(0x100000001, 0x8000000080000000, 0x000000002);
	testUint64ShiftL12(0x000000020, 0x100000000, 0x000000001);
	testUint64ShiftR8(0x100000001, 0x100000000, 0x000000001);
	testUint64ShiftL12(0x000000021, 0x200000000, 0x000000000);
	testUint64ShiftR9(0x100000001, 0x200000000, 0x000000000);
	testUint64ShiftL12(0x00000003d, 0x2000000000000000, 0x000000000);
	testUint64ShiftR10(0x100000001, 0x2000000000000000, 0x000000000);
	testUint64ShiftL12(0x00000003e, 0x4000000000000000, 0x000000000);
	testUint64ShiftR11(0x100000001, 0x4000000000000000, 0x000000000);
	testUint64ShiftL12(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x100000001, 0x8000000000000000, 0x000000000);
	testUint64ShiftL12(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftL12(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x100000001, 0x000000000, 0x000000000);
}
func test101() {
	testUint64BinaryL13(0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testUint64BinaryR0(0x200000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0x200000000, false);
	testUint64BinaryL13(0x000000001, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testUint64BinaryR1(0x200000000, 0x200000001, 0x1ffffffff, 0x200000000, 0x200000000, 0x000000000, 0x000000000, 0x200000001, 0x200000001, 0x200000000, true);
	testUint64BinaryL13(0x000000002, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testUint64BinaryR2(0x200000000, 0x200000002, 0x1fffffffe, 0x400000000, 0x100000000, 0x000000000, 0x000000000, 0x200000002, 0x200000002, 0x200000000, true);
	testUint64BinaryL13(0x000000003, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testUint64BinaryR3(0x200000000, 0x200000003, 0x1fffffffd, 0x600000000, 0x0aaaaaaaa, 0x000000002, 0x000000000, 0x200000003, 0x200000003, 0x200000000, true);
	testUint64BinaryL13(0x000000064, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testUint64BinaryR4(0x200000000, 0x200000064, 0x1ffffff9c, 0xc800000000, 0x0051eb851, 0x00000005c, 0x000000000, 0x200000064, 0x200000064, 0x200000000, true);
	testUint64BinaryL13(0x000002711, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testUint64BinaryR5(0x200000000, 0x200002711, 0x1ffffd8ef, 0x4e2200000000, 0x0000d1b1b, 0x000001635, 0x000000000, 0x200002711, 0x200002711, 0x200000000, true);
	testUint64BinaryL13(0x07fffffff, 0x27fffffff, 0x180000001, 0xfffffffe00000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testUint64BinaryR6(0x200000000, 0x27fffffff, 0x180000001, 0xfffffffe00000000, 0x000000004, 0x000000004, 0x000000000, 0x27fffffff, 0x27fffffff, 0x200000000, true);
	testUint64BinaryL13(0x080000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testUint64BinaryR7(0x200000000, 0x280000000, 0x180000000, 0x000000000, 0x000000004, 0x000000000, 0x000000000, 0x280000000, 0x280000000, 0x200000000, true);
	testUint64BinaryL13(0x080000001, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testUint64BinaryR8(0x200000000, 0x280000001, 0x17fffffff, 0x200000000, 0x000000003, 0x07ffffffd, 0x000000000, 0x280000001, 0x280000001, 0x200000000, true);
	testUint64BinaryL13(0x0c0000000, 0x2c0000000, 0x140000000, 0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testUint64BinaryR9(0x200000000, 0x2c0000000, 0x140000000, 0x8000000000000000, 0x000000002, 0x080000000, 0x000000000, 0x2c0000000, 0x2c0000000, 0x200000000, true);
	testUint64BinaryL13(0x0ffffffff, 0x2ffffffff, 0x100000001, 0xfffffffe00000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testUint64BinaryR10(0x200000000, 0x2ffffffff, 0x100000001, 0xfffffffe00000000, 0x000000002, 0x000000002, 0x000000000, 0x2ffffffff, 0x2ffffffff, 0x200000000, true);
	testUint64BinaryL13(0x100000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testUint64BinaryR11(0x200000000, 0x300000000, 0x100000000, 0x000000000, 0x000000002, 0x000000000, 0x000000000, 0x300000000, 0x300000000, 0x200000000, true);
	testUint64BinaryL13(0x100000001, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testUint64BinaryR12(0x200000000, 0x300000001, 0x0ffffffff, 0x200000000, 0x000000001, 0x0ffffffff, 0x000000000, 0x300000001, 0x300000001, 0x200000000, true);
	testUint64BinaryL13(0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR13(0x200000000, 0x400000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0x200000000, 0x200000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL13(0x7fffffffffffd8f0, 0x80000001ffffd8f0, 0x8000000200002710, 0xffffb1e000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testUint64BinaryR14(0x200000000, 0x80000001ffffd8f0, 0x8000000200002710, 0xffffb1e000000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x000000000, true);
	testUint64BinaryL13(0x7fffffffffffffff, 0x80000001ffffffff, 0x8000000200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testUint64BinaryR15(0x200000000, 0x80000001ffffffff, 0x8000000200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x000000000, true);
	testUint64BinaryL13(0xc000000000000000, 0xc000000200000000, 0x4000000200000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0x200000000, true);
	testUint64BinaryR16(0x200000000, 0xc000000200000000, 0x4000000200000000, 0x000000000, 0x000000000, 0x200000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0x200000000, true);
	testUint64BinaryL13(0xffffffff00000000, 0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0x000000000, true);
	testUint64BinaryR17(0x200000000, 0x100000000, 0x300000000, 0x000000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0x000000000, true);
	testUint64BinaryL13(0xffffffffffffff9c, 0x1ffffff9c, 0x200000064, 0xffffff3800000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0x000000000, true);
	testUint64BinaryR18(0x200000000, 0x1ffffff9c, 0x200000064, 0xffffff3800000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0x000000000, true);
	testUint64BinaryL13(0xffffffffffffffff, 0x1ffffffff, 0x200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0x000000000, true);
	testUint64BinaryR19(0x200000000, 0x1ffffffff, 0x200000001, 0xfffffffe00000000, 0x000000000, 0x200000000, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0x000000000, true);
	testUint64BinaryL13(0x789abcdef0123456, 0x789abce0f0123456, 0x876543230fedcbaa, 0xe02468ac00000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testUint64BinaryR20(0x200000000, 0x789abce0f0123456, 0x876543230fedcbaa, 0xe02468ac00000000, 0x000000000, 0x200000000, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x000000000, true);
	testUint64BinaryL13(0xfedcba9876543210, 0xfedcba9a76543210, 0x123456989abcdf0, 0xeca8642000000000, 0x000000000, 0x200000000, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0x200000000, true);
	testUint64BinaryR21(0x200000000, 0xfedcba9a76543210, 0x123456989abcdf0, 0xeca8642000000000, 0x000000000, 0x200000000, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0x200000000, true);
	testUint64ShiftL13(0x000000000, 0x200000000, 0x200000000);
	testUint64ShiftR0(0x200000000, 0x200000000, 0x200000000);
	testUint64ShiftL13(0x000000001, 0x400000000, 0x100000000);
	testUint64ShiftR1(0x200000000, 0x400000000, 0x100000000);
	testUint64ShiftL13(0x000000002, 0x800000000, 0x080000000);
	testUint64ShiftR2(0x200000000, 0x800000000, 0x080000000);
	testUint64ShiftL13(0x000000003, 0x1000000000, 0x040000000);
	testUint64ShiftR3(0x200000000, 0x1000000000, 0x040000000);
	testUint64ShiftL13(0x00000000f, 0x1000000000000, 0x000040000);
	testUint64ShiftR4(0x200000000, 0x1000000000000, 0x000040000);
	testUint64ShiftL13(0x000000010, 0x2000000000000, 0x000020000);
	testUint64ShiftR5(0x200000000, 0x2000000000000, 0x000020000);
	testUint64ShiftL13(0x000000011, 0x4000000000000, 0x000010000);
	testUint64ShiftR6(0x200000000, 0x4000000000000, 0x000010000);
	testUint64ShiftL13(0x00000001f, 0x000000000, 0x000000004);
	testUint64ShiftR7(0x200000000, 0x000000000, 0x000000004);
	testUint64ShiftL13(0x000000020, 0x000000000, 0x000000002);
	testUint64ShiftR8(0x200000000, 0x000000000, 0x000000002);
	testUint64ShiftL13(0x000000021, 0x000000000, 0x000000001);
	testUint64ShiftR9(0x200000000, 0x000000000, 0x000000001);
	testUint64ShiftL13(0x00000003d, 0x000000000, 0x000000000);
	testUint64ShiftR10(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x00000003e, 0x000000000, 0x000000000);
	testUint64ShiftR11(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x200000000, 0x000000000, 0x000000000);
	testUint64ShiftL13(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x200000000, 0x000000000, 0x000000000);
}
func test102() {
	testUint64BinaryL14(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testUint64BinaryR0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, false);
	testUint64BinaryL14(0x000000001, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testUint64BinaryR1(0x7fffffffffffd8f0, 0x7fffffffffffd8f1, 0x7fffffffffffd8ef, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f1, 0x7fffffffffffd8f1, 0x7fffffffffffd8f0, true);
	testUint64BinaryL14(0x000000002, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, 0xffffffffffffb1e0, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testUint64BinaryR2(0x7fffffffffffd8f0, 0x7fffffffffffd8f2, 0x7fffffffffffd8ee, 0xffffffffffffb1e0, 0x3fffffffffffec78, 0x000000000, 0x000000000, 0x7fffffffffffd8f2, 0x7fffffffffffd8f2, 0x7fffffffffffd8f0, true);
	testUint64BinaryL14(0x000000003, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testUint64BinaryR3(0x7fffffffffffd8f0, 0x7fffffffffffd8f3, 0x7fffffffffffd8ed, 0x7fffffffffff8ad0, 0x2aaaaaaaaaaa9da5, 0x000000001, 0x000000000, 0x7fffffffffffd8f3, 0x7fffffffffffd8f3, 0x7fffffffffffd8f0, true);
	testUint64BinaryL14(0x000000064, 0x7fffffffffffd954, 0x7fffffffffffd88c, 0xfffffffffff0bdc0, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testUint64BinaryR4(0x7fffffffffffd8f0, 0x7fffffffffffd954, 0x7fffffffffffd88c, 0xfffffffffff0bdc0, 0x147ae147ae1474a, 0x000000008, 0x000000060, 0x7fffffffffffd8f4, 0x7fffffffffffd894, 0x7fffffffffffd890, true);
	testUint64BinaryL14(0x000002711, 0x8000000000000001, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testUint64BinaryR5(0x7fffffffffffd8f0, 0x8000000000000001, 0x7fffffffffffb1df, 0x7ffffffffa09f7f0, 0x346c6e4615f65, 0x00000203b, 0x000000010, 0x7ffffffffffffff1, 0x7fffffffffffffe1, 0x7fffffffffffd8e0, true);
	testUint64BinaryL14(0x07fffffff, 0x800000007fffd8ef, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testUint64BinaryR6(0x7fffffffffffd8f0, 0x800000007fffd8ef, 0x7fffffff7fffd8f1, 0x7fffec7800002710, 0x100000001, 0x07fffd8f1, 0x07fffd8f0, 0x7fffffffffffffff, 0x7fffffff8000270f, 0x7fffffff80000000, true);
	testUint64BinaryL14(0x080000000, 0x800000007fffd8f0, 0x7fffffff7fffd8f0, 0xffffec7800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testUint64BinaryR7(0x7fffffffffffd8f0, 0x800000007fffd8f0, 0x7fffffff7fffd8f0, 0xffffec7800000000, 0x0ffffffff, 0x07fffd8f0, 0x080000000, 0x7fffffffffffd8f0, 0x7fffffff7fffd8f0, 0x7fffffff7fffd8f0, true);
	testUint64BinaryL14(0x080000001, 0x800000007fffd8f1, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testUint64BinaryR8(0x7fffffffffffd8f0, 0x800000007fffd8f1, 0x7fffffff7fffd8ef, 0x7fffec77ffffd8f0, 0x0fffffffd, 0x07fffd8f3, 0x080000000, 0x7fffffffffffd8f1, 0x7fffffff7fffd8f1, 0x7fffffff7fffd8f0, true);
	testUint64BinaryL14(0x0c0000000, 0x80000000bfffd8f0, 0x7fffffff3fffd8f0, 0xffffe2b400000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testUint64BinaryR9(0x7fffffffffffd8f0, 0x80000000bfffd8f0, 0x7fffffff3fffd8f0, 0xffffe2b400000000, 0x0aaaaaaaa, 0x07fffd8f0, 0x0c0000000, 0x7fffffffffffd8f0, 0x7fffffff3fffd8f0, 0x7fffffff3fffd8f0, true);
	testUint64BinaryL14(0x0ffffffff, 0x80000000ffffd8ef, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testUint64BinaryR10(0x7fffffffffffd8f0, 0x80000000ffffd8ef, 0x7ffffffeffffd8f1, 0x7fffd8f000002710, 0x080000000, 0x07fffd8f0, 0x0ffffd8f0, 0x7fffffffffffffff, 0x7fffffff0000270f, 0x7fffffff00000000, true);
	testUint64BinaryL14(0x100000000, 0x80000000ffffd8f0, 0x7ffffffeffffd8f0, 0xffffd8f000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testUint64BinaryR11(0x7fffffffffffd8f0, 0x80000000ffffd8f0, 0x7ffffffeffffd8f0, 0xffffd8f000000000, 0x07fffffff, 0x0ffffd8f0, 0x100000000, 0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7ffffffeffffd8f0, true);
	testUint64BinaryL14(0x100000001, 0x80000000ffffd8f1, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testUint64BinaryR12(0x7fffffffffffd8f0, 0x80000000ffffd8f1, 0x7ffffffeffffd8ef, 0x7fffd8efffffd8f0, 0x07fffffff, 0x07fffd8f1, 0x100000000, 0x7fffffffffffd8f1, 0x7ffffffeffffd8f1, 0x7ffffffeffffd8f0, true);
	testUint64BinaryL14(0x200000000, 0x80000001ffffd8f0, 0x7ffffffdffffd8f0, 0xffffb1e000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testUint64BinaryR13(0x7fffffffffffd8f0, 0x80000001ffffd8f0, 0x7ffffffdffffd8f0, 0xffffb1e000000000, 0x03fffffff, 0x1ffffd8f0, 0x200000000, 0x7fffffffffffd8f0, 0x7ffffffdffffd8f0, 0x7ffffffdffffd8f0, true);
	testUint64BinaryL14(0x7fffffffffffd8f0, 0xffffffffffffb1e0, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testUint64BinaryR14(0x7fffffffffffd8f0, 0xffffffffffffb1e0, 0x000000000, 0x005f5e100, 0x000000001, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x000000000, 0x000000000, true);
	testUint64BinaryL14(0x7fffffffffffffff, 0xffffffffffffd8ef, 0xffffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testUint64BinaryR15(0x7fffffffffffd8f0, 0xffffffffffffd8ef, 0xffffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x000000000, true);
	testUint64BinaryL14(0xc000000000000000, 0x3fffffffffffd8f0, 0xbfffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x3fffffffffffd8f0, true);
	testUint64BinaryR16(0x7fffffffffffd8f0, 0x3fffffffffffd8f0, 0xbfffffffffffd8f0, 0x000000000, 0x000000000, 0x7fffffffffffd8f0, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x3fffffffffffd8f0, true);
	testUint64BinaryL14(0xffffffff00000000, 0x7ffffffeffffd8f0, 0x80000000ffffd8f0, 0x271000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x0ffffd8f0, true);
	testUint64BinaryR17(0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x80000000ffffd8f0, 0x271000000000, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x0ffffd8f0, true);
	testUint64BinaryL14(0xffffffffffffff9c, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x000000060, true);
	testUint64BinaryR18(0x7fffffffffffd8f0, 0x7fffffffffffd88c, 0x7fffffffffffd954, 0x0000f4240, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x000000060, true);
	testUint64BinaryL14(0xffffffffffffffff, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x000000000, true);
	testUint64BinaryR19(0x7fffffffffffd8f0, 0x7fffffffffffd8ef, 0x7fffffffffffd8f1, 0x8000000000002710, 0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x000000000, true);
	testUint64BinaryL14(0x789abcdef0123456, 0xf89abcdef0120d46, 0x76543210feda49a, 0xe38e3b7e38e3a0a0, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testUint64BinaryR20(0x7fffffffffffd8f0, 0xf89abcdef0120d46, 0x76543210feda49a, 0xe38e3b7e38e3a0a0, 0x000000001, 0x76543210feda49a, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x76543210fedc8a0, true);
	testUint64BinaryL14(0xfedcba9876543210, 0x7edcba9876540b00, 0x8123456789aba6e0, 0x71c71c71c71c6f00, 0x000000000, 0x7fffffffffffd8f0, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x123456789abc8e0, true);
	testUint64BinaryR21(0x7fffffffffffd8f0, 0x7edcba9876540b00, 0x8123456789aba6e0, 0x71c71c71c71c6f00, 0x000000000, 0x7fffffffffffd8f0, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x123456789abc8e0, true);
	testUint64ShiftL14(0x000000000, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testUint64ShiftR0(0x7fffffffffffd8f0, 0x7fffffffffffd8f0, 0x7fffffffffffd8f0);
	testUint64ShiftL14(0x000000001, 0xffffffffffffb1e0, 0x3fffffffffffec78);
	testUint64ShiftR1(0x7fffffffffffd8f0, 0xffffffffffffb1e0, 0x3fffffffffffec78);
	testUint64ShiftL14(0x000000002, 0xffffffffffff63c0, 0x1ffffffffffff63c);
	testUint64ShiftR2(0x7fffffffffffd8f0, 0xffffffffffff63c0, 0x1ffffffffffff63c);
	testUint64ShiftL14(0x000000003, 0xfffffffffffec780, 0xffffffffffffb1e);
	testUint64ShiftR3(0x7fffffffffffd8f0, 0xfffffffffffec780, 0xffffffffffffb1e);
	testUint64ShiftL14(0x00000000f, 0xffffffffec780000, 0xffffffffffff);
	testUint64ShiftR4(0x7fffffffffffd8f0, 0xffffffffec780000, 0xffffffffffff);
	testUint64ShiftL14(0x000000010, 0xffffffffd8f00000, 0x7fffffffffff);
	testUint64ShiftR5(0x7fffffffffffd8f0, 0xffffffffd8f00000, 0x7fffffffffff);
	testUint64ShiftL14(0x000000011, 0xffffffffb1e00000, 0x3fffffffffff);
	testUint64ShiftR6(0x7fffffffffffd8f0, 0xffffffffb1e00000, 0x3fffffffffff);
	testUint64ShiftL14(0x00000001f, 0xffffec7800000000, 0x0ffffffff);
	testUint64ShiftR7(0x7fffffffffffd8f0, 0xffffec7800000000, 0x0ffffffff);
	testUint64ShiftL14(0x000000020, 0xffffd8f000000000, 0x07fffffff);
	testUint64ShiftR8(0x7fffffffffffd8f0, 0xffffd8f000000000, 0x07fffffff);
	testUint64ShiftL14(0x000000021, 0xffffb1e000000000, 0x03fffffff);
	testUint64ShiftR9(0x7fffffffffffd8f0, 0xffffb1e000000000, 0x03fffffff);
	testUint64ShiftL14(0x00000003d, 0x000000000, 0x000000003);
	testUint64ShiftR10(0x7fffffffffffd8f0, 0x000000000, 0x000000003);
	testUint64ShiftL14(0x00000003e, 0x000000000, 0x000000001);
	testUint64ShiftR11(0x7fffffffffffd8f0, 0x000000000, 0x000000001);
	testUint64ShiftL14(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
	testUint64ShiftL14(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x7fffffffffffd8f0, 0x000000000, 0x000000000);
}
func test103() {
	testUint64BinaryL15(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testUint64BinaryR0(0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, false);
	testUint64BinaryL15(0x000000001, 0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testUint64BinaryR1(0x7fffffffffffffff, 0x8000000000000000, 0x7ffffffffffffffe, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000001, 0x7fffffffffffffff, 0x7ffffffffffffffe, 0x7ffffffffffffffe, true);
	testUint64BinaryL15(0x000000002, 0x8000000000000001, 0x7ffffffffffffffd, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testUint64BinaryR2(0x7fffffffffffffff, 0x8000000000000001, 0x7ffffffffffffffd, 0xfffffffffffffffe, 0x3fffffffffffffff, 0x000000001, 0x000000002, 0x7fffffffffffffff, 0x7ffffffffffffffd, 0x7ffffffffffffffd, true);
	testUint64BinaryL15(0x000000003, 0x8000000000000002, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testUint64BinaryR3(0x7fffffffffffffff, 0x8000000000000002, 0x7ffffffffffffffc, 0x7ffffffffffffffd, 0x2aaaaaaaaaaaaaaa, 0x000000001, 0x000000003, 0x7fffffffffffffff, 0x7ffffffffffffffc, 0x7ffffffffffffffc, true);
	testUint64BinaryL15(0x000000064, 0x8000000000000063, 0x7fffffffffffff9b, 0xffffffffffffff9c, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testUint64BinaryR4(0x7fffffffffffffff, 0x8000000000000063, 0x7fffffffffffff9b, 0xffffffffffffff9c, 0x147ae147ae147ae, 0x000000007, 0x000000064, 0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9b, true);
	testUint64BinaryL15(0x000002711, 0x8000000000002710, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testUint64BinaryR5(0x7fffffffffffffff, 0x8000000000002710, 0x7fffffffffffd8ee, 0x7fffffffffffd8ef, 0x346c6e4615f66, 0x000002039, 0x000002711, 0x7fffffffffffffff, 0x7fffffffffffd8ee, 0x7fffffffffffd8ee, true);
	testUint64BinaryL15(0x07fffffff, 0x800000007ffffffe, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testUint64BinaryR6(0x7fffffffffffffff, 0x800000007ffffffe, 0x7fffffff80000000, 0x7fffffff80000001, 0x100000002, 0x000000001, 0x07fffffff, 0x7fffffffffffffff, 0x7fffffff80000000, 0x7fffffff80000000, true);
	testUint64BinaryL15(0x080000000, 0x800000007fffffff, 0x7fffffff7fffffff, 0xffffffff80000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testUint64BinaryR7(0x7fffffffffffffff, 0x800000007fffffff, 0x7fffffff7fffffff, 0xffffffff80000000, 0x0ffffffff, 0x07fffffff, 0x080000000, 0x7fffffffffffffff, 0x7fffffff7fffffff, 0x7fffffff7fffffff, true);
	testUint64BinaryL15(0x080000001, 0x8000000080000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testUint64BinaryR8(0x7fffffffffffffff, 0x8000000080000000, 0x7fffffff7ffffffe, 0x7fffffff7fffffff, 0x0fffffffe, 0x000000001, 0x080000001, 0x7fffffffffffffff, 0x7fffffff7ffffffe, 0x7fffffff7ffffffe, true);
	testUint64BinaryL15(0x0c0000000, 0x80000000bfffffff, 0x7fffffff3fffffff, 0xffffffff40000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testUint64BinaryR9(0x7fffffffffffffff, 0x80000000bfffffff, 0x7fffffff3fffffff, 0xffffffff40000000, 0x0aaaaaaaa, 0x07fffffff, 0x0c0000000, 0x7fffffffffffffff, 0x7fffffff3fffffff, 0x7fffffff3fffffff, true);
	testUint64BinaryL15(0x0ffffffff, 0x80000000fffffffe, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testUint64BinaryR10(0x7fffffffffffffff, 0x80000000fffffffe, 0x7fffffff00000000, 0x7fffffff00000001, 0x080000000, 0x07fffffff, 0x0ffffffff, 0x7fffffffffffffff, 0x7fffffff00000000, 0x7fffffff00000000, true);
	testUint64BinaryL15(0x100000000, 0x80000000ffffffff, 0x7ffffffeffffffff, 0xffffffff00000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testUint64BinaryR11(0x7fffffffffffffff, 0x80000000ffffffff, 0x7ffffffeffffffff, 0xffffffff00000000, 0x07fffffff, 0x0ffffffff, 0x100000000, 0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7ffffffeffffffff, true);
	testUint64BinaryL15(0x100000001, 0x8000000100000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testUint64BinaryR12(0x7fffffffffffffff, 0x8000000100000000, 0x7ffffffefffffffe, 0x7ffffffeffffffff, 0x07fffffff, 0x080000000, 0x100000001, 0x7fffffffffffffff, 0x7ffffffefffffffe, 0x7ffffffefffffffe, true);
	testUint64BinaryL15(0x200000000, 0x80000001ffffffff, 0x7ffffffdffffffff, 0xfffffffe00000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testUint64BinaryR13(0x7fffffffffffffff, 0x80000001ffffffff, 0x7ffffffdffffffff, 0xfffffffe00000000, 0x03fffffff, 0x1ffffffff, 0x200000000, 0x7fffffffffffffff, 0x7ffffffdffffffff, 0x7ffffffdffffffff, true);
	testUint64BinaryL15(0x7fffffffffffd8f0, 0xffffffffffffd8ef, 0x00000270f, 0x8000000000002710, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testUint64BinaryR14(0x7fffffffffffffff, 0xffffffffffffd8ef, 0x00000270f, 0x8000000000002710, 0x000000001, 0x00000270f, 0x7fffffffffffd8f0, 0x7fffffffffffffff, 0x00000270f, 0x00000270f, true);
	testUint64BinaryL15(0x7fffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryR15(0x7fffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryL15(0xc000000000000000, 0x3fffffffffffffff, 0xbfffffffffffffff, 0x4000000000000000, 0x000000000, 0x7fffffffffffffff, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x3fffffffffffffff, true);
	testUint64BinaryR16(0x7fffffffffffffff, 0x3fffffffffffffff, 0xbfffffffffffffff, 0x4000000000000000, 0x000000000, 0x7fffffffffffffff, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x3fffffffffffffff, true);
	testUint64BinaryL15(0xffffffff00000000, 0x7ffffffeffffffff, 0x80000000ffffffff, 0x100000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x0ffffffff, true);
	testUint64BinaryR17(0x7fffffffffffffff, 0x7ffffffeffffffff, 0x80000000ffffffff, 0x100000000, 0x000000000, 0x7fffffffffffffff, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x0ffffffff, true);
	testUint64BinaryL15(0xffffffffffffff9c, 0x7fffffffffffff9b, 0x8000000000000063, 0x000000064, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x000000063, true);
	testUint64BinaryR18(0x7fffffffffffffff, 0x7fffffffffffff9b, 0x8000000000000063, 0x000000064, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x000000063, true);
	testUint64BinaryL15(0xffffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x000000000, true);
	testUint64BinaryR19(0x7fffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x000000000, true);
	testUint64BinaryL15(0x789abcdef0123456, 0xf89abcdef0123455, 0x76543210fedcba9, 0x876543210fedcbaa, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testUint64BinaryR20(0x7fffffffffffffff, 0xf89abcdef0123455, 0x76543210fedcba9, 0x876543210fedcbaa, 0x000000001, 0x76543210fedcba9, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x76543210fedcba9, true);
	testUint64BinaryL15(0xfedcba9876543210, 0x7edcba987654320f, 0x8123456789abcdef, 0x123456789abcdf0, 0x000000000, 0x7fffffffffffffff, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x123456789abcdef, true);
	testUint64BinaryR21(0x7fffffffffffffff, 0x7edcba987654320f, 0x8123456789abcdef, 0x123456789abcdf0, 0x000000000, 0x7fffffffffffffff, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x123456789abcdef, true);
	testUint64ShiftL15(0x000000000, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testUint64ShiftR0(0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff);
	testUint64ShiftL15(0x000000001, 0xfffffffffffffffe, 0x3fffffffffffffff);
	testUint64ShiftR1(0x7fffffffffffffff, 0xfffffffffffffffe, 0x3fffffffffffffff);
	testUint64ShiftL15(0x000000002, 0xfffffffffffffffc, 0x1fffffffffffffff);
	testUint64ShiftR2(0x7fffffffffffffff, 0xfffffffffffffffc, 0x1fffffffffffffff);
	testUint64ShiftL15(0x000000003, 0xfffffffffffffff8, 0xfffffffffffffff);
	testUint64ShiftR3(0x7fffffffffffffff, 0xfffffffffffffff8, 0xfffffffffffffff);
	testUint64ShiftL15(0x00000000f, 0xffffffffffff8000, 0xffffffffffff);
	testUint64ShiftR4(0x7fffffffffffffff, 0xffffffffffff8000, 0xffffffffffff);
	testUint64ShiftL15(0x000000010, 0xffffffffffff0000, 0x7fffffffffff);
	testUint64ShiftR5(0x7fffffffffffffff, 0xffffffffffff0000, 0x7fffffffffff);
	testUint64ShiftL15(0x000000011, 0xfffffffffffe0000, 0x3fffffffffff);
	testUint64ShiftR6(0x7fffffffffffffff, 0xfffffffffffe0000, 0x3fffffffffff);
	testUint64ShiftL15(0x00000001f, 0xffffffff80000000, 0x0ffffffff);
	testUint64ShiftR7(0x7fffffffffffffff, 0xffffffff80000000, 0x0ffffffff);
	testUint64ShiftL15(0x000000020, 0xffffffff00000000, 0x07fffffff);
	testUint64ShiftR8(0x7fffffffffffffff, 0xffffffff00000000, 0x07fffffff);
	testUint64ShiftL15(0x000000021, 0xfffffffe00000000, 0x03fffffff);
	testUint64ShiftR9(0x7fffffffffffffff, 0xfffffffe00000000, 0x03fffffff);
	testUint64ShiftL15(0x00000003d, 0xe000000000000000, 0x000000003);
	testUint64ShiftR10(0x7fffffffffffffff, 0xe000000000000000, 0x000000003);
	testUint64ShiftL15(0x00000003e, 0xc000000000000000, 0x000000001);
	testUint64ShiftR11(0x7fffffffffffffff, 0xc000000000000000, 0x000000001);
	testUint64ShiftL15(0x00000003f, 0x8000000000000000, 0x000000000);
	testUint64ShiftR12(0x7fffffffffffffff, 0x8000000000000000, 0x000000000);
	testUint64ShiftL15(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x7fffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL15(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x7fffffffffffffff, 0x000000000, 0x000000000);
}
func test104() {
	testUint64BinaryL16(0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xc000000000000000, false);
	testUint64BinaryR0(0xc000000000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xc000000000000000, false);
	testUint64BinaryL16(0x000000001, 0xc000000000000001, 0xbfffffffffffffff, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0xc000000000000000, true);
	testUint64BinaryR1(0xc000000000000000, 0xc000000000000001, 0xbfffffffffffffff, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, 0xc000000000000001, 0xc000000000000001, 0xc000000000000000, true);
	testUint64BinaryL16(0x000000002, 0xc000000000000002, 0xbffffffffffffffe, 0x8000000000000000, 0x6000000000000000, 0x000000000, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0xc000000000000000, true);
	testUint64BinaryR2(0xc000000000000000, 0xc000000000000002, 0xbffffffffffffffe, 0x8000000000000000, 0x6000000000000000, 0x000000000, 0x000000000, 0xc000000000000002, 0xc000000000000002, 0xc000000000000000, true);
	testUint64BinaryL16(0x000000003, 0xc000000000000003, 0xbffffffffffffffd, 0x4000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0xc000000000000000, true);
	testUint64BinaryR3(0xc000000000000000, 0xc000000000000003, 0xbffffffffffffffd, 0x4000000000000000, 0x4000000000000000, 0x000000000, 0x000000000, 0xc000000000000003, 0xc000000000000003, 0xc000000000000000, true);
	testUint64BinaryL16(0x000000064, 0xc000000000000064, 0xbfffffffffffff9c, 0x000000000, 0x1eb851eb851eb85, 0x00000000c, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0xc000000000000000, true);
	testUint64BinaryR4(0xc000000000000000, 0xc000000000000064, 0xbfffffffffffff9c, 0x000000000, 0x1eb851eb851eb85, 0x00000000c, 0x000000000, 0xc000000000000064, 0xc000000000000064, 0xc000000000000000, true);
	testUint64BinaryL16(0x000002711, 0xc000000000002711, 0xbfffffffffffd8ef, 0xc000000000000000, 0x4ea2a56920f1a, 0x000000946, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0xc000000000000000, true);
	testUint64BinaryR5(0xc000000000000000, 0xc000000000002711, 0xbfffffffffffd8ef, 0xc000000000000000, 0x4ea2a56920f1a, 0x000000946, 0x000000000, 0xc000000000002711, 0xc000000000002711, 0xc000000000000000, true);
	testUint64BinaryL16(0x07fffffff, 0xc00000007fffffff, 0xbfffffff80000001, 0x4000000000000000, 0x180000003, 0x000000003, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0xc000000000000000, true);
	testUint64BinaryR6(0xc000000000000000, 0xc00000007fffffff, 0xbfffffff80000001, 0x4000000000000000, 0x180000003, 0x000000003, 0x000000000, 0xc00000007fffffff, 0xc00000007fffffff, 0xc000000000000000, true);
	testUint64BinaryL16(0x080000000, 0xc000000080000000, 0xbfffffff80000000, 0x000000000, 0x180000000, 0x000000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0xc000000000000000, true);
	testUint64BinaryR7(0xc000000000000000, 0xc000000080000000, 0xbfffffff80000000, 0x000000000, 0x180000000, 0x000000000, 0x000000000, 0xc000000080000000, 0xc000000080000000, 0xc000000000000000, true);
	testUint64BinaryL16(0x080000001, 0xc000000080000001, 0xbfffffff7fffffff, 0xc000000000000000, 0x17ffffffd, 0x000000003, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0xc000000000000000, true);
	testUint64BinaryR8(0xc000000000000000, 0xc000000080000001, 0xbfffffff7fffffff, 0xc000000000000000, 0x17ffffffd, 0x000000003, 0x000000000, 0xc000000080000001, 0xc000000080000001, 0xc000000000000000, true);
	testUint64BinaryL16(0x0c0000000, 0xc0000000c0000000, 0xbfffffff40000000, 0x000000000, 0x100000000, 0x000000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0xc000000000000000, true);
	testUint64BinaryR9(0xc000000000000000, 0xc0000000c0000000, 0xbfffffff40000000, 0x000000000, 0x100000000, 0x000000000, 0x000000000, 0xc0000000c0000000, 0xc0000000c0000000, 0xc000000000000000, true);
	testUint64BinaryL16(0x0ffffffff, 0xc0000000ffffffff, 0xbfffffff00000001, 0x4000000000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0xc000000000000000, true);
	testUint64BinaryR10(0xc000000000000000, 0xc0000000ffffffff, 0xbfffffff00000001, 0x4000000000000000, 0x0c0000000, 0x0c0000000, 0x000000000, 0xc0000000ffffffff, 0xc0000000ffffffff, 0xc000000000000000, true);
	testUint64BinaryL16(0x100000000, 0xc000000100000000, 0xbfffffff00000000, 0x000000000, 0x0c0000000, 0x000000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0xc000000000000000, true);
	testUint64BinaryR11(0xc000000000000000, 0xc000000100000000, 0xbfffffff00000000, 0x000000000, 0x0c0000000, 0x000000000, 0x000000000, 0xc000000100000000, 0xc000000100000000, 0xc000000000000000, true);
	testUint64BinaryL16(0x100000001, 0xc000000100000001, 0xbffffffeffffffff, 0xc000000000000000, 0x0bfffffff, 0x040000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0xc000000000000000, true);
	testUint64BinaryR12(0xc000000000000000, 0xc000000100000001, 0xbffffffeffffffff, 0xc000000000000000, 0x0bfffffff, 0x040000001, 0x000000000, 0xc000000100000001, 0xc000000100000001, 0xc000000000000000, true);
	testUint64BinaryL16(0x200000000, 0xc000000200000000, 0xbffffffe00000000, 0x000000000, 0x060000000, 0x000000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0xc000000000000000, true);
	testUint64BinaryR13(0xc000000000000000, 0xc000000200000000, 0xbffffffe00000000, 0x000000000, 0x060000000, 0x000000000, 0x000000000, 0xc000000200000000, 0xc000000200000000, 0xc000000000000000, true);
	testUint64BinaryL16(0x7fffffffffffd8f0, 0x3fffffffffffd8f0, 0x4000000000002710, 0x000000000, 0x000000001, 0x4000000000002710, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x8000000000000000, true);
	testUint64BinaryR14(0xc000000000000000, 0x3fffffffffffd8f0, 0x4000000000002710, 0x000000000, 0x000000001, 0x4000000000002710, 0x4000000000000000, 0xffffffffffffd8f0, 0xbfffffffffffd8f0, 0x8000000000000000, true);
	testUint64BinaryL16(0x7fffffffffffffff, 0x3fffffffffffffff, 0x4000000000000001, 0x4000000000000000, 0x000000001, 0x4000000000000001, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x8000000000000000, true);
	testUint64BinaryR15(0xc000000000000000, 0x3fffffffffffffff, 0x4000000000000001, 0x4000000000000000, 0x000000001, 0x4000000000000001, 0x4000000000000000, 0xffffffffffffffff, 0xbfffffffffffffff, 0x8000000000000000, true);
	testUint64BinaryL16(0xc000000000000000, 0x8000000000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR16(0xc000000000000000, 0x8000000000000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL16(0xffffffff00000000, 0xbfffffff00000000, 0xc000000100000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x000000000, true);
	testUint64BinaryR17(0xc000000000000000, 0xbfffffff00000000, 0xc000000100000000, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x000000000, true);
	testUint64BinaryL16(0xffffffffffffff9c, 0xbfffffffffffff9c, 0xc000000000000064, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, true);
	testUint64BinaryR18(0xc000000000000000, 0xbfffffffffffff9c, 0xc000000000000064, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, true);
	testUint64BinaryL16(0xffffffffffffffff, 0xbfffffffffffffff, 0xc000000000000001, 0x4000000000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x000000000, true);
	testUint64BinaryR19(0xc000000000000000, 0xbfffffffffffffff, 0xc000000000000001, 0x4000000000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x000000000, true);
	testUint64BinaryL16(0x789abcdef0123456, 0x389abcdef0123456, 0x476543210fedcbaa, 0x8000000000000000, 0x000000001, 0x476543210fedcbaa, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, true);
	testUint64BinaryR20(0xc000000000000000, 0x389abcdef0123456, 0x476543210fedcbaa, 0x8000000000000000, 0x000000001, 0x476543210fedcbaa, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, true);
	testUint64BinaryL16(0xfedcba9876543210, 0xbedcba9876543210, 0xc123456789abcdf0, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x000000000, true);
	testUint64BinaryR21(0xc000000000000000, 0xbedcba9876543210, 0xc123456789abcdf0, 0x000000000, 0x000000000, 0xc000000000000000, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x000000000, true);
	testUint64ShiftL16(0x000000000, 0xc000000000000000, 0xc000000000000000);
	testUint64ShiftR0(0xc000000000000000, 0xc000000000000000, 0xc000000000000000);
	testUint64ShiftL16(0x000000001, 0x8000000000000000, 0x6000000000000000);
	testUint64ShiftR1(0xc000000000000000, 0x8000000000000000, 0x6000000000000000);
	testUint64ShiftL16(0x000000002, 0x000000000, 0x3000000000000000);
	testUint64ShiftR2(0xc000000000000000, 0x000000000, 0x3000000000000000);
	testUint64ShiftL16(0x000000003, 0x000000000, 0x1800000000000000);
	testUint64ShiftR3(0xc000000000000000, 0x000000000, 0x1800000000000000);
	testUint64ShiftL16(0x00000000f, 0x000000000, 0x1800000000000);
	testUint64ShiftR4(0xc000000000000000, 0x000000000, 0x1800000000000);
	testUint64ShiftL16(0x000000010, 0x000000000, 0xc00000000000);
	testUint64ShiftR5(0xc000000000000000, 0x000000000, 0xc00000000000);
	testUint64ShiftL16(0x000000011, 0x000000000, 0x600000000000);
	testUint64ShiftR6(0xc000000000000000, 0x000000000, 0x600000000000);
	testUint64ShiftL16(0x00000001f, 0x000000000, 0x180000000);
	testUint64ShiftR7(0xc000000000000000, 0x000000000, 0x180000000);
	testUint64ShiftL16(0x000000020, 0x000000000, 0x0c0000000);
	testUint64ShiftR8(0xc000000000000000, 0x000000000, 0x0c0000000);
	testUint64ShiftL16(0x000000021, 0x000000000, 0x060000000);
	testUint64ShiftR9(0xc000000000000000, 0x000000000, 0x060000000);
	testUint64ShiftL16(0x00000003d, 0x000000000, 0x000000006);
	testUint64ShiftR10(0xc000000000000000, 0x000000000, 0x000000006);
	testUint64ShiftL16(0x00000003e, 0x000000000, 0x000000003);
	testUint64ShiftR11(0xc000000000000000, 0x000000000, 0x000000003);
	testUint64ShiftL16(0x00000003f, 0x000000000, 0x000000001);
	testUint64ShiftR12(0xc000000000000000, 0x000000000, 0x000000001);
	testUint64ShiftL16(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0xc000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftL16(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0xc000000000000000, 0x000000000, 0x000000000);
}
func test105() {
	testUint64BinaryL17(0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffff00000000, false);
	testUint64BinaryR0(0xffffffff00000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffff00000000, false);
	testUint64BinaryL17(0x000000001, 0xffffffff00000001, 0xfffffffeffffffff, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0xffffffff00000000, true);
	testUint64BinaryR1(0xffffffff00000000, 0xffffffff00000001, 0xfffffffeffffffff, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, 0xffffffff00000001, 0xffffffff00000001, 0xffffffff00000000, true);
	testUint64BinaryL17(0x000000002, 0xffffffff00000002, 0xfffffffefffffffe, 0xfffffffe00000000, 0x7fffffff80000000, 0x000000000, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0xffffffff00000000, true);
	testUint64BinaryR2(0xffffffff00000000, 0xffffffff00000002, 0xfffffffefffffffe, 0xfffffffe00000000, 0x7fffffff80000000, 0x000000000, 0x000000000, 0xffffffff00000002, 0xffffffff00000002, 0xffffffff00000000, true);
	testUint64BinaryL17(0x000000003, 0xffffffff00000003, 0xfffffffefffffffd, 0xfffffffd00000000, 0x5555555500000000, 0x000000000, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0xffffffff00000000, true);
	testUint64BinaryR3(0xffffffff00000000, 0xffffffff00000003, 0xfffffffefffffffd, 0xfffffffd00000000, 0x5555555500000000, 0x000000000, 0x000000000, 0xffffffff00000003, 0xffffffff00000003, 0xffffffff00000000, true);
	testUint64BinaryL17(0x000000064, 0xffffffff00000064, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x28f5c28f3333333, 0x000000014, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0xffffffff00000000, true);
	testUint64BinaryR4(0xffffffff00000000, 0xffffffff00000064, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x28f5c28f3333333, 0x000000014, 0x000000000, 0xffffffff00000064, 0xffffffff00000064, 0xffffffff00000000, true);
	testUint64BinaryL17(0x000002711, 0xffffffff00002711, 0xfffffffeffffd8ef, 0xffffd8ef00000000, 0x68d8dc8bc313f, 0x0000021d1, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0xffffffff00000000, true);
	testUint64BinaryR5(0xffffffff00000000, 0xffffffff00002711, 0xfffffffeffffd8ef, 0xffffd8ef00000000, 0x68d8dc8bc313f, 0x0000021d1, 0x000000000, 0xffffffff00002711, 0xffffffff00002711, 0xffffffff00000000, true);
	testUint64BinaryL17(0x07fffffff, 0xffffffff7fffffff, 0xfffffffe80000001, 0x8000000100000000, 0x200000002, 0x000000002, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0xffffffff00000000, true);
	testUint64BinaryR6(0xffffffff00000000, 0xffffffff7fffffff, 0xfffffffe80000001, 0x8000000100000000, 0x200000002, 0x000000002, 0x000000000, 0xffffffff7fffffff, 0xffffffff7fffffff, 0xffffffff00000000, true);
	testUint64BinaryL17(0x080000000, 0xffffffff80000000, 0xfffffffe80000000, 0x8000000000000000, 0x1fffffffe, 0x000000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0xffffffff00000000, true);
	testUint64BinaryR7(0xffffffff00000000, 0xffffffff80000000, 0xfffffffe80000000, 0x8000000000000000, 0x1fffffffe, 0x000000000, 0x000000000, 0xffffffff80000000, 0xffffffff80000000, 0xffffffff00000000, true);
	testUint64BinaryL17(0x080000001, 0xffffffff80000001, 0xfffffffe7fffffff, 0x7fffffff00000000, 0x1fffffffa, 0x000000006, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0xffffffff00000000, true);
	testUint64BinaryR8(0xffffffff00000000, 0xffffffff80000001, 0xfffffffe7fffffff, 0x7fffffff00000000, 0x1fffffffa, 0x000000006, 0x000000000, 0xffffffff80000001, 0xffffffff80000001, 0xffffffff00000000, true);
	testUint64BinaryL17(0x0c0000000, 0xffffffffc0000000, 0xfffffffe40000000, 0x4000000000000000, 0x155555554, 0x000000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0xffffffff00000000, true);
	testUint64BinaryR9(0xffffffff00000000, 0xffffffffc0000000, 0xfffffffe40000000, 0x4000000000000000, 0x155555554, 0x000000000, 0x000000000, 0xffffffffc0000000, 0xffffffffc0000000, 0xffffffff00000000, true);
	testUint64BinaryL17(0x0ffffffff, 0xffffffffffffffff, 0xfffffffe00000001, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff00000000, true);
	testUint64BinaryR10(0xffffffff00000000, 0xffffffffffffffff, 0xfffffffe00000001, 0x100000000, 0x100000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff00000000, true);
	testUint64BinaryL17(0x100000000, 0x000000000, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0xfffffffe00000000, true);
	testUint64BinaryR11(0xffffffff00000000, 0x000000000, 0xfffffffe00000000, 0x000000000, 0x0ffffffff, 0x000000000, 0x100000000, 0xffffffff00000000, 0xfffffffe00000000, 0xfffffffe00000000, true);
	testUint64BinaryL17(0x100000001, 0x000000001, 0xfffffffdffffffff, 0xffffffff00000000, 0x0fffffffe, 0x000000002, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0xfffffffe00000000, true);
	testUint64BinaryR12(0xffffffff00000000, 0x000000001, 0xfffffffdffffffff, 0xffffffff00000000, 0x0fffffffe, 0x000000002, 0x100000000, 0xffffffff00000001, 0xfffffffe00000001, 0xfffffffe00000000, true);
	testUint64BinaryL17(0x200000000, 0x100000000, 0xfffffffd00000000, 0x000000000, 0x07fffffff, 0x100000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0xfffffffd00000000, true);
	testUint64BinaryR13(0xffffffff00000000, 0x100000000, 0xfffffffd00000000, 0x000000000, 0x07fffffff, 0x100000000, 0x200000000, 0xffffffff00000000, 0xfffffffd00000000, 0xfffffffd00000000, true);
	testUint64BinaryL17(0x7fffffffffffd8f0, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000001, 0x7fffffff00002710, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x8000000000000000, true);
	testUint64BinaryR14(0xffffffff00000000, 0x7ffffffeffffd8f0, 0x7fffffff00002710, 0x271000000000, 0x000000001, 0x7fffffff00002710, 0x7fffffff00000000, 0xffffffffffffd8f0, 0x80000000ffffd8f0, 0x8000000000000000, true);
	testUint64BinaryL17(0x7fffffffffffffff, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000001, 0x7fffffff00000001, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x8000000000000000, true);
	testUint64BinaryR15(0xffffffff00000000, 0x7ffffffeffffffff, 0x7fffffff00000001, 0x100000000, 0x000000001, 0x7fffffff00000001, 0x7fffffff00000000, 0xffffffffffffffff, 0x80000000ffffffff, 0x8000000000000000, true);
	testUint64BinaryL17(0xc000000000000000, 0xbfffffff00000000, 0x3fffffff00000000, 0x000000000, 0x000000001, 0x3fffffff00000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x3fffffff00000000, true);
	testUint64BinaryR16(0xffffffff00000000, 0xbfffffff00000000, 0x3fffffff00000000, 0x000000000, 0x000000001, 0x3fffffff00000000, 0xc000000000000000, 0xffffffff00000000, 0x3fffffff00000000, 0x3fffffff00000000, true);
	testUint64BinaryL17(0xffffffff00000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, true);
	testUint64BinaryR17(0xffffffff00000000, 0xfffffffe00000000, 0x000000000, 0x000000000, 0x000000001, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0x000000000, 0x000000000, true);
	testUint64BinaryL17(0xffffffffffffff9c, 0xfffffffeffffff9c, 0xffffffff00000064, 0x6400000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x000000000, true);
	testUint64BinaryR18(0xffffffff00000000, 0xfffffffeffffff9c, 0xffffffff00000064, 0x6400000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x000000000, true);
	testUint64BinaryL17(0xffffffffffffffff, 0xfffffffeffffffff, 0xffffffff00000001, 0x100000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64BinaryR19(0xffffffff00000000, 0xfffffffeffffffff, 0xffffffff00000001, 0x100000000, 0x000000000, 0xffffffff00000000, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x000000000, true);
	testUint64BinaryL17(0x789abcdef0123456, 0x789abcddf0123456, 0x876543200fedcbaa, 0xfedcbaa00000000, 0x000000002, 0xeca86411fdb9754, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x8765432100000000, true);
	testUint64BinaryR20(0xffffffff00000000, 0x789abcddf0123456, 0x876543200fedcbaa, 0xfedcbaa00000000, 0x000000002, 0xeca86411fdb9754, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x8765432100000000, true);
	testUint64BinaryL17(0xfedcba9876543210, 0xfedcba9776543210, 0x123456689abcdf0, 0x89abcdf000000000, 0x000000001, 0x123456689abcdf0, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x123456700000000, true);
	testUint64BinaryR21(0xffffffff00000000, 0xfedcba9776543210, 0x123456689abcdf0, 0x89abcdf000000000, 0x000000001, 0x123456689abcdf0, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x123456700000000, true);
	testUint64ShiftL17(0x000000000, 0xffffffff00000000, 0xffffffff00000000);
	testUint64ShiftR0(0xffffffff00000000, 0xffffffff00000000, 0xffffffff00000000);
	testUint64ShiftL17(0x000000001, 0xfffffffe00000000, 0x7fffffff80000000);
	testUint64ShiftR1(0xffffffff00000000, 0xfffffffe00000000, 0x7fffffff80000000);
	testUint64ShiftL17(0x000000002, 0xfffffffc00000000, 0x3fffffffc0000000);
	testUint64ShiftR2(0xffffffff00000000, 0xfffffffc00000000, 0x3fffffffc0000000);
	testUint64ShiftL17(0x000000003, 0xfffffff800000000, 0x1fffffffe0000000);
	testUint64ShiftR3(0xffffffff00000000, 0xfffffff800000000, 0x1fffffffe0000000);
	testUint64ShiftL17(0x00000000f, 0xffff800000000000, 0x1fffffffe0000);
	testUint64ShiftR4(0xffffffff00000000, 0xffff800000000000, 0x1fffffffe0000);
	testUint64ShiftL17(0x000000010, 0xffff000000000000, 0xffffffff0000);
	testUint64ShiftR5(0xffffffff00000000, 0xffff000000000000, 0xffffffff0000);
	testUint64ShiftL17(0x000000011, 0xfffe000000000000, 0x7fffffff8000);
	testUint64ShiftR6(0xffffffff00000000, 0xfffe000000000000, 0x7fffffff8000);
	testUint64ShiftL17(0x00000001f, 0x8000000000000000, 0x1fffffffe);
	testUint64ShiftR7(0xffffffff00000000, 0x8000000000000000, 0x1fffffffe);
	testUint64ShiftL17(0x000000020, 0x000000000, 0x0ffffffff);
	testUint64ShiftR8(0xffffffff00000000, 0x000000000, 0x0ffffffff);
	testUint64ShiftL17(0x000000021, 0x000000000, 0x07fffffff);
	testUint64ShiftR9(0xffffffff00000000, 0x000000000, 0x07fffffff);
	testUint64ShiftL17(0x00000003d, 0x000000000, 0x000000007);
	testUint64ShiftR10(0xffffffff00000000, 0x000000000, 0x000000007);
	testUint64ShiftL17(0x00000003e, 0x000000000, 0x000000003);
	testUint64ShiftR11(0xffffffff00000000, 0x000000000, 0x000000003);
	testUint64ShiftL17(0x00000003f, 0x000000000, 0x000000001);
	testUint64ShiftR12(0xffffffff00000000, 0x000000000, 0x000000001);
	testUint64ShiftL17(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftL17(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0xffffffff00000000, 0x000000000, 0x000000000);
}
func test106() {
	testUint64BinaryL18(0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff9c, false);
	testUint64BinaryR0(0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff9c, false);
	testUint64BinaryL18(0x000000001, 0xffffffffffffff9d, 0xffffffffffffff9b, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0xffffffffffffff9c, true);
	testUint64BinaryR1(0xffffffffffffff9c, 0xffffffffffffff9d, 0xffffffffffffff9b, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, 0xffffffffffffff9d, 0xffffffffffffff9d, 0xffffffffffffff9c, true);
	testUint64BinaryL18(0x000000002, 0xffffffffffffff9e, 0xffffffffffffff9a, 0xffffffffffffff38, 0x7fffffffffffffce, 0x000000000, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0xffffffffffffff9c, true);
	testUint64BinaryR2(0xffffffffffffff9c, 0xffffffffffffff9e, 0xffffffffffffff9a, 0xffffffffffffff38, 0x7fffffffffffffce, 0x000000000, 0x000000000, 0xffffffffffffff9e, 0xffffffffffffff9e, 0xffffffffffffff9c, true);
	testUint64BinaryL18(0x000000003, 0xffffffffffffff9f, 0xffffffffffffff99, 0xfffffffffffffed4, 0x5555555555555534, 0x000000000, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0xffffffffffffff9c, true);
	testUint64BinaryR3(0xffffffffffffff9c, 0xffffffffffffff9f, 0xffffffffffffff99, 0xfffffffffffffed4, 0x5555555555555534, 0x000000000, 0x000000000, 0xffffffffffffff9f, 0xffffffffffffff9f, 0xffffffffffffff9c, true);
	testUint64BinaryL18(0x000000064, 0x000000000, 0xffffffffffffff38, 0xffffffffffffd8f0, 0x28f5c28f5c28f5b, 0x000000010, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0xffffffffffffff98, true);
	testUint64BinaryR4(0xffffffffffffff9c, 0x000000000, 0xffffffffffffff38, 0xffffffffffffd8f0, 0x28f5c28f5c28f5b, 0x000000010, 0x000000004, 0xfffffffffffffffc, 0xfffffffffffffff8, 0xffffffffffffff98, true);
	testUint64BinaryL18(0x000002711, 0x0000026ad, 0xffffffffffffd88b, 0xfffffffffff0bd5c, 0x68d8dc8c2becd, 0x0000018ff, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0xffffffffffffd88c, true);
	testUint64BinaryR5(0xffffffffffffff9c, 0x0000026ad, 0xffffffffffffd88b, 0xfffffffffff0bd5c, 0x68d8dc8c2becd, 0x0000018ff, 0x000002710, 0xffffffffffffff9d, 0xffffffffffffd88d, 0xffffffffffffd88c, true);
	testUint64BinaryL18(0x07fffffff, 0x07fffff9b, 0xffffffff7fffff9d, 0xffffffce00000064, 0x200000003, 0x07fffff9f, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0xffffffff80000000, true);
	testUint64BinaryR6(0xffffffffffffff9c, 0x07fffff9b, 0xffffffff7fffff9d, 0xffffffce00000064, 0x200000003, 0x07fffff9f, 0x07fffff9c, 0xffffffffffffffff, 0xffffffff80000063, 0xffffffff80000000, true);
	testUint64BinaryL18(0x080000000, 0x07fffff9c, 0xffffffff7fffff9c, 0xffffffce00000000, 0x1ffffffff, 0x07fffff9c, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0xffffffff7fffff9c, true);
	testUint64BinaryR7(0xffffffffffffff9c, 0x07fffff9c, 0xffffffff7fffff9c, 0xffffffce00000000, 0x1ffffffff, 0x07fffff9c, 0x080000000, 0xffffffffffffff9c, 0xffffffff7fffff9c, 0xffffffff7fffff9c, true);
	testUint64BinaryL18(0x080000001, 0x07fffff9d, 0xffffffff7fffff9b, 0xffffffcdffffff9c, 0x1fffffffb, 0x07fffffa1, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0xffffffff7fffff9c, true);
	testUint64BinaryR8(0xffffffffffffff9c, 0x07fffff9d, 0xffffffff7fffff9b, 0xffffffcdffffff9c, 0x1fffffffb, 0x07fffffa1, 0x080000000, 0xffffffffffffff9d, 0xffffffff7fffff9d, 0xffffffff7fffff9c, true);
	testUint64BinaryL18(0x0c0000000, 0x0bfffff9c, 0xffffffff3fffff9c, 0xffffffb500000000, 0x155555555, 0x03fffff9c, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0xffffffff3fffff9c, true);
	testUint64BinaryR9(0xffffffffffffff9c, 0x0bfffff9c, 0xffffffff3fffff9c, 0xffffffb500000000, 0x155555555, 0x03fffff9c, 0x0c0000000, 0xffffffffffffff9c, 0xffffffff3fffff9c, 0xffffffff3fffff9c, true);
	testUint64BinaryL18(0x0ffffffff, 0x0ffffff9b, 0xfffffffeffffff9d, 0xffffff9c00000064, 0x100000000, 0x0ffffff9c, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0xffffffff00000000, true);
	testUint64BinaryR10(0xffffffffffffff9c, 0x0ffffff9b, 0xfffffffeffffff9d, 0xffffff9c00000064, 0x100000000, 0x0ffffff9c, 0x0ffffff9c, 0xffffffffffffffff, 0xffffffff00000063, 0xffffffff00000000, true);
	testUint64BinaryL18(0x100000000, 0x0ffffff9c, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x0ffffffff, 0x0ffffff9c, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0xfffffffeffffff9c, true);
	testUint64BinaryR11(0xffffffffffffff9c, 0x0ffffff9c, 0xfffffffeffffff9c, 0xffffff9c00000000, 0x0ffffffff, 0x0ffffff9c, 0x100000000, 0xffffffffffffff9c, 0xfffffffeffffff9c, 0xfffffffeffffff9c, true);
	testUint64BinaryL18(0x100000001, 0x0ffffff9d, 0xfffffffeffffff9b, 0xffffff9bffffff9c, 0x0fffffffe, 0x0ffffff9e, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0xfffffffeffffff9c, true);
	testUint64BinaryR12(0xffffffffffffff9c, 0x0ffffff9d, 0xfffffffeffffff9b, 0xffffff9bffffff9c, 0x0fffffffe, 0x0ffffff9e, 0x100000000, 0xffffffffffffff9d, 0xfffffffeffffff9d, 0xfffffffeffffff9c, true);
	testUint64BinaryL18(0x200000000, 0x1ffffff9c, 0xfffffffdffffff9c, 0xffffff3800000000, 0x07fffffff, 0x1ffffff9c, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0xfffffffdffffff9c, true);
	testUint64BinaryR13(0xffffffffffffff9c, 0x1ffffff9c, 0xfffffffdffffff9c, 0xffffff3800000000, 0x07fffffff, 0x1ffffff9c, 0x200000000, 0xffffffffffffff9c, 0xfffffffdffffff9c, 0xfffffffdffffff9c, true);
	testUint64BinaryL18(0x7fffffffffffd8f0, 0x7fffffffffffd88c, 0x80000000000026ac, 0x0000f4240, 0x000000002, 0x000004dbc, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x800000000000270c, true);
	testUint64BinaryR14(0xffffffffffffff9c, 0x7fffffffffffd88c, 0x80000000000026ac, 0x0000f4240, 0x000000002, 0x000004dbc, 0x7fffffffffffd890, 0xfffffffffffffffc, 0x800000000000276c, 0x800000000000270c, true);
	testUint64BinaryL18(0x7fffffffffffffff, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000001, 0x7fffffffffffff9d, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x8000000000000000, true);
	testUint64BinaryR15(0xffffffffffffff9c, 0x7fffffffffffff9b, 0x7fffffffffffff9d, 0x000000064, 0x000000001, 0x7fffffffffffff9d, 0x7fffffffffffff9c, 0xffffffffffffffff, 0x8000000000000063, 0x8000000000000000, true);
	testUint64BinaryL18(0xc000000000000000, 0xbfffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, 0x000000001, 0x3fffffffffffff9c, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x3fffffffffffff9c, true);
	testUint64BinaryR16(0xffffffffffffff9c, 0xbfffffffffffff9c, 0x3fffffffffffff9c, 0x000000000, 0x000000001, 0x3fffffffffffff9c, 0xc000000000000000, 0xffffffffffffff9c, 0x3fffffffffffff9c, 0x3fffffffffffff9c, true);
	testUint64BinaryL18(0xffffffff00000000, 0xfffffffeffffff9c, 0x0ffffff9c, 0x6400000000, 0x000000001, 0x0ffffff9c, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x0ffffff9c, true);
	testUint64BinaryR17(0xffffffffffffff9c, 0xfffffffeffffff9c, 0x0ffffff9c, 0x6400000000, 0x000000001, 0x0ffffff9c, 0xffffffff00000000, 0xffffffffffffff9c, 0x0ffffff9c, 0x0ffffff9c, true);
	testUint64BinaryL18(0xffffffffffffff9c, 0xffffffffffffff38, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, true);
	testUint64BinaryR18(0xffffffffffffff9c, 0xffffffffffffff38, 0x000000000, 0x000002710, 0x000000001, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0x000000000, 0x000000000, true);
	testUint64BinaryL18(0xffffffffffffffff, 0xffffffffffffff9b, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000000, true);
	testUint64BinaryR19(0xffffffffffffff9c, 0xffffffffffffff9b, 0xffffffffffffff9d, 0x000000064, 0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000000, true);
	testUint64BinaryL18(0x789abcdef0123456, 0x789abcdef01233f2, 0x876543210fedcb46, 0xe38e38ea38e38e68, 0x000000002, 0xeca86421fdb96f0, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x876543210fedcb88, true);
	testUint64BinaryR20(0xffffffffffffff9c, 0x789abcdef01233f2, 0x876543210fedcb46, 0xe38e38ea38e38e68, 0x000000002, 0xeca86421fdb96f0, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x876543210fedcb88, true);
	testUint64BinaryL18(0xfedcba9876543210, 0xfedcba98765431ac, 0x123456789abcd8c, 0x71c71c71c71c71c0, 0x000000001, 0x123456789abcd8c, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x123456789abcd8c, true);
	testUint64BinaryR21(0xffffffffffffff9c, 0xfedcba98765431ac, 0x123456789abcd8c, 0x71c71c71c71c71c0, 0x000000001, 0x123456789abcd8c, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x123456789abcd8c, true);
	testUint64ShiftL18(0x000000000, 0xffffffffffffff9c, 0xffffffffffffff9c);
	testUint64ShiftR0(0xffffffffffffff9c, 0xffffffffffffff9c, 0xffffffffffffff9c);
	testUint64ShiftL18(0x000000001, 0xffffffffffffff38, 0x7fffffffffffffce);
	testUint64ShiftR1(0xffffffffffffff9c, 0xffffffffffffff38, 0x7fffffffffffffce);
	testUint64ShiftL18(0x000000002, 0xfffffffffffffe70, 0x3fffffffffffffe7);
	testUint64ShiftR2(0xffffffffffffff9c, 0xfffffffffffffe70, 0x3fffffffffffffe7);
	testUint64ShiftL18(0x000000003, 0xfffffffffffffce0, 0x1ffffffffffffff3);
	testUint64ShiftR3(0xffffffffffffff9c, 0xfffffffffffffce0, 0x1ffffffffffffff3);
	testUint64ShiftL18(0x00000000f, 0xffffffffffce0000, 0x1ffffffffffff);
	testUint64ShiftR4(0xffffffffffffff9c, 0xffffffffffce0000, 0x1ffffffffffff);
	testUint64ShiftL18(0x000000010, 0xffffffffff9c0000, 0xffffffffffff);
	testUint64ShiftR5(0xffffffffffffff9c, 0xffffffffff9c0000, 0xffffffffffff);
	testUint64ShiftL18(0x000000011, 0xffffffffff380000, 0x7fffffffffff);
	testUint64ShiftR6(0xffffffffffffff9c, 0xffffffffff380000, 0x7fffffffffff);
	testUint64ShiftL18(0x00000001f, 0xffffffce00000000, 0x1ffffffff);
	testUint64ShiftR7(0xffffffffffffff9c, 0xffffffce00000000, 0x1ffffffff);
	testUint64ShiftL18(0x000000020, 0xffffff9c00000000, 0x0ffffffff);
	testUint64ShiftR8(0xffffffffffffff9c, 0xffffff9c00000000, 0x0ffffffff);
	testUint64ShiftL18(0x000000021, 0xffffff3800000000, 0x07fffffff);
	testUint64ShiftR9(0xffffffffffffff9c, 0xffffff3800000000, 0x07fffffff);
	testUint64ShiftL18(0x00000003d, 0x8000000000000000, 0x000000007);
	testUint64ShiftR10(0xffffffffffffff9c, 0x8000000000000000, 0x000000007);
	testUint64ShiftL18(0x00000003e, 0x000000000, 0x000000003);
	testUint64ShiftR11(0xffffffffffffff9c, 0x000000000, 0x000000003);
	testUint64ShiftL18(0x00000003f, 0x000000000, 0x000000001);
	testUint64ShiftR12(0xffffffffffffff9c, 0x000000000, 0x000000001);
	testUint64ShiftL18(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0xffffffffffffff9c, 0x000000000, 0x000000000);
	testUint64ShiftL18(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0xffffffffffffff9c, 0x000000000, 0x000000000);
}
func test107() {
	testUint64BinaryL19(0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, false);
	testUint64BinaryR0(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, false);
	testUint64BinaryL19(0x000000001, 0x000000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0xfffffffffffffffe, true);
	testUint64BinaryR1(0xffffffffffffffff, 0x000000000, 0xfffffffffffffffe, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000001, 0xffffffffffffffff, 0xfffffffffffffffe, 0xfffffffffffffffe, true);
	testUint64BinaryL19(0x000000002, 0x000000001, 0xfffffffffffffffd, 0xfffffffffffffffe, 0x7fffffffffffffff, 0x000000001, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0xfffffffffffffffd, true);
	testUint64BinaryR2(0xffffffffffffffff, 0x000000001, 0xfffffffffffffffd, 0xfffffffffffffffe, 0x7fffffffffffffff, 0x000000001, 0x000000002, 0xffffffffffffffff, 0xfffffffffffffffd, 0xfffffffffffffffd, true);
	testUint64BinaryL19(0x000000003, 0x000000002, 0xfffffffffffffffc, 0xfffffffffffffffd, 0x5555555555555555, 0x000000000, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0xfffffffffffffffc, true);
	testUint64BinaryR3(0xffffffffffffffff, 0x000000002, 0xfffffffffffffffc, 0xfffffffffffffffd, 0x5555555555555555, 0x000000000, 0x000000003, 0xffffffffffffffff, 0xfffffffffffffffc, 0xfffffffffffffffc, true);
	testUint64BinaryL19(0x000000064, 0x000000063, 0xffffffffffffff9b, 0xffffffffffffff9c, 0x28f5c28f5c28f5c, 0x00000000f, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0xffffffffffffff9b, true);
	testUint64BinaryR4(0xffffffffffffffff, 0x000000063, 0xffffffffffffff9b, 0xffffffffffffff9c, 0x28f5c28f5c28f5c, 0x00000000f, 0x000000064, 0xffffffffffffffff, 0xffffffffffffff9b, 0xffffffffffffff9b, true);
	testUint64BinaryL19(0x000002711, 0x000002710, 0xffffffffffffd8ee, 0xffffffffffffd8ef, 0x68d8dc8c2becd, 0x000001962, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0xffffffffffffd8ee, true);
	testUint64BinaryR5(0xffffffffffffffff, 0x000002710, 0xffffffffffffd8ee, 0xffffffffffffd8ef, 0x68d8dc8c2becd, 0x000001962, 0x000002711, 0xffffffffffffffff, 0xffffffffffffd8ee, 0xffffffffffffd8ee, true);
	testUint64BinaryL19(0x07fffffff, 0x07ffffffe, 0xffffffff80000000, 0xffffffff80000001, 0x200000004, 0x000000003, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0xffffffff80000000, true);
	testUint64BinaryR6(0xffffffffffffffff, 0x07ffffffe, 0xffffffff80000000, 0xffffffff80000001, 0x200000004, 0x000000003, 0x07fffffff, 0xffffffffffffffff, 0xffffffff80000000, 0xffffffff80000000, true);
	testUint64BinaryL19(0x080000000, 0x07fffffff, 0xffffffff7fffffff, 0xffffffff80000000, 0x1ffffffff, 0x07fffffff, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0xffffffff7fffffff, true);
	testUint64BinaryR7(0xffffffffffffffff, 0x07fffffff, 0xffffffff7fffffff, 0xffffffff80000000, 0x1ffffffff, 0x07fffffff, 0x080000000, 0xffffffffffffffff, 0xffffffff7fffffff, 0xffffffff7fffffff, true);
	testUint64BinaryL19(0x080000001, 0x080000000, 0xffffffff7ffffffe, 0xffffffff7fffffff, 0x1fffffffc, 0x000000003, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0xffffffff7ffffffe, true);
	testUint64BinaryR8(0xffffffffffffffff, 0x080000000, 0xffffffff7ffffffe, 0xffffffff7fffffff, 0x1fffffffc, 0x000000003, 0x080000001, 0xffffffffffffffff, 0xffffffff7ffffffe, 0xffffffff7ffffffe, true);
	testUint64BinaryL19(0x0c0000000, 0x0bfffffff, 0xffffffff3fffffff, 0xffffffff40000000, 0x155555555, 0x03fffffff, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0xffffffff3fffffff, true);
	testUint64BinaryR9(0xffffffffffffffff, 0x0bfffffff, 0xffffffff3fffffff, 0xffffffff40000000, 0x155555555, 0x03fffffff, 0x0c0000000, 0xffffffffffffffff, 0xffffffff3fffffff, 0xffffffff3fffffff, true);
	testUint64BinaryL19(0x0ffffffff, 0x0fffffffe, 0xffffffff00000000, 0xffffffff00000001, 0x100000001, 0x000000000, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0xffffffff00000000, true);
	testUint64BinaryR10(0xffffffffffffffff, 0x0fffffffe, 0xffffffff00000000, 0xffffffff00000001, 0x100000001, 0x000000000, 0x0ffffffff, 0xffffffffffffffff, 0xffffffff00000000, 0xffffffff00000000, true);
	testUint64BinaryL19(0x100000000, 0x0ffffffff, 0xfffffffeffffffff, 0xffffffff00000000, 0x0ffffffff, 0x0ffffffff, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0xfffffffeffffffff, true);
	testUint64BinaryR11(0xffffffffffffffff, 0x0ffffffff, 0xfffffffeffffffff, 0xffffffff00000000, 0x0ffffffff, 0x0ffffffff, 0x100000000, 0xffffffffffffffff, 0xfffffffeffffffff, 0xfffffffeffffffff, true);
	testUint64BinaryL19(0x100000001, 0x100000000, 0xfffffffefffffffe, 0xfffffffeffffffff, 0x0ffffffff, 0x000000000, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0xfffffffefffffffe, true);
	testUint64BinaryR12(0xffffffffffffffff, 0x100000000, 0xfffffffefffffffe, 0xfffffffeffffffff, 0x0ffffffff, 0x000000000, 0x100000001, 0xffffffffffffffff, 0xfffffffefffffffe, 0xfffffffefffffffe, true);
	testUint64BinaryL19(0x200000000, 0x1ffffffff, 0xfffffffdffffffff, 0xfffffffe00000000, 0x07fffffff, 0x1ffffffff, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0xfffffffdffffffff, true);
	testUint64BinaryR13(0xffffffffffffffff, 0x1ffffffff, 0xfffffffdffffffff, 0xfffffffe00000000, 0x07fffffff, 0x1ffffffff, 0x200000000, 0xffffffffffffffff, 0xfffffffdffffffff, 0xfffffffdffffffff, true);
	testUint64BinaryL19(0x7fffffffffffd8f0, 0x7fffffffffffd8ef, 0x800000000000270f, 0x8000000000002710, 0x000000002, 0x000004e1f, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x800000000000270f, true);
	testUint64BinaryR14(0xffffffffffffffff, 0x7fffffffffffd8ef, 0x800000000000270f, 0x8000000000002710, 0x000000002, 0x000004e1f, 0x7fffffffffffd8f0, 0xffffffffffffffff, 0x800000000000270f, 0x800000000000270f, true);
	testUint64BinaryL19(0x7fffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000002, 0x000000001, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x8000000000000000, true);
	testUint64BinaryR15(0xffffffffffffffff, 0x7ffffffffffffffe, 0x8000000000000000, 0x8000000000000001, 0x000000002, 0x000000001, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000, 0x8000000000000000, true);
	testUint64BinaryL19(0xc000000000000000, 0xbfffffffffffffff, 0x3fffffffffffffff, 0x4000000000000000, 0x000000001, 0x3fffffffffffffff, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x3fffffffffffffff, true);
	testUint64BinaryR16(0xffffffffffffffff, 0xbfffffffffffffff, 0x3fffffffffffffff, 0x4000000000000000, 0x000000001, 0x3fffffffffffffff, 0xc000000000000000, 0xffffffffffffffff, 0x3fffffffffffffff, 0x3fffffffffffffff, true);
	testUint64BinaryL19(0xffffffff00000000, 0xfffffffeffffffff, 0x0ffffffff, 0x100000000, 0x000000001, 0x0ffffffff, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x0ffffffff, true);
	testUint64BinaryR17(0xffffffffffffffff, 0xfffffffeffffffff, 0x0ffffffff, 0x100000000, 0x000000001, 0x0ffffffff, 0xffffffff00000000, 0xffffffffffffffff, 0x0ffffffff, 0x0ffffffff, true);
	testUint64BinaryL19(0xffffffffffffff9c, 0xffffffffffffff9b, 0x000000063, 0x000000064, 0x000000001, 0x000000063, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000063, true);
	testUint64BinaryR18(0xffffffffffffffff, 0xffffffffffffff9b, 0x000000063, 0x000000064, 0x000000001, 0x000000063, 0xffffffffffffff9c, 0xffffffffffffffff, 0x000000063, 0x000000063, true);
	testUint64BinaryL19(0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryR19(0xffffffffffffffff, 0xfffffffffffffffe, 0x000000000, 0x000000001, 0x000000001, 0x000000000, 0xffffffffffffffff, 0xffffffffffffffff, 0x000000000, 0x000000000, true);
	testUint64BinaryL19(0x789abcdef0123456, 0x789abcdef0123455, 0x876543210fedcba9, 0x876543210fedcbaa, 0x000000002, 0xeca86421fdb9753, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x876543210fedcba9, true);
	testUint64BinaryR20(0xffffffffffffffff, 0x789abcdef0123455, 0x876543210fedcba9, 0x876543210fedcbaa, 0x000000002, 0xeca86421fdb9753, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x876543210fedcba9, true);
	testUint64BinaryL19(0xfedcba9876543210, 0xfedcba987654320f, 0x123456789abcdef, 0x123456789abcdf0, 0x000000001, 0x123456789abcdef, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x123456789abcdef, true);
	testUint64BinaryR21(0xffffffffffffffff, 0xfedcba987654320f, 0x123456789abcdef, 0x123456789abcdf0, 0x000000001, 0x123456789abcdef, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x123456789abcdef, true);
	testUint64ShiftL19(0x000000000, 0xffffffffffffffff, 0xffffffffffffffff);
	testUint64ShiftR0(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff);
	testUint64ShiftL19(0x000000001, 0xfffffffffffffffe, 0x7fffffffffffffff);
	testUint64ShiftR1(0xffffffffffffffff, 0xfffffffffffffffe, 0x7fffffffffffffff);
	testUint64ShiftL19(0x000000002, 0xfffffffffffffffc, 0x3fffffffffffffff);
	testUint64ShiftR2(0xffffffffffffffff, 0xfffffffffffffffc, 0x3fffffffffffffff);
	testUint64ShiftL19(0x000000003, 0xfffffffffffffff8, 0x1fffffffffffffff);
	testUint64ShiftR3(0xffffffffffffffff, 0xfffffffffffffff8, 0x1fffffffffffffff);
	testUint64ShiftL19(0x00000000f, 0xffffffffffff8000, 0x1ffffffffffff);
	testUint64ShiftR4(0xffffffffffffffff, 0xffffffffffff8000, 0x1ffffffffffff);
	testUint64ShiftL19(0x000000010, 0xffffffffffff0000, 0xffffffffffff);
	testUint64ShiftR5(0xffffffffffffffff, 0xffffffffffff0000, 0xffffffffffff);
	testUint64ShiftL19(0x000000011, 0xfffffffffffe0000, 0x7fffffffffff);
	testUint64ShiftR6(0xffffffffffffffff, 0xfffffffffffe0000, 0x7fffffffffff);
	testUint64ShiftL19(0x00000001f, 0xffffffff80000000, 0x1ffffffff);
	testUint64ShiftR7(0xffffffffffffffff, 0xffffffff80000000, 0x1ffffffff);
	testUint64ShiftL19(0x000000020, 0xffffffff00000000, 0x0ffffffff);
	testUint64ShiftR8(0xffffffffffffffff, 0xffffffff00000000, 0x0ffffffff);
	testUint64ShiftL19(0x000000021, 0xfffffffe00000000, 0x07fffffff);
	testUint64ShiftR9(0xffffffffffffffff, 0xfffffffe00000000, 0x07fffffff);
	testUint64ShiftL19(0x00000003d, 0xe000000000000000, 0x000000007);
	testUint64ShiftR10(0xffffffffffffffff, 0xe000000000000000, 0x000000007);
	testUint64ShiftL19(0x00000003e, 0xc000000000000000, 0x000000003);
	testUint64ShiftR11(0xffffffffffffffff, 0xc000000000000000, 0x000000003);
	testUint64ShiftL19(0x00000003f, 0x8000000000000000, 0x000000001);
	testUint64ShiftR12(0xffffffffffffffff, 0x8000000000000000, 0x000000001);
	testUint64ShiftL19(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftL19(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0xffffffffffffffff, 0x000000000, 0x000000000);
}
func test108() {
	testUint64BinaryL20(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testUint64BinaryR0(0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456, false);
	testUint64BinaryL20(0x000000001, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testUint64BinaryR1(0x789abcdef0123456, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, 0x789abcdef0123457, 0x789abcdef0123457, 0x789abcdef0123456, true);
	testUint64BinaryL20(0x000000002, 0x789abcdef0123458, 0x789abcdef0123454, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testUint64BinaryR2(0x789abcdef0123456, 0x789abcdef0123458, 0x789abcdef0123454, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b, 0x000000000, 0x000000002, 0x789abcdef0123456, 0x789abcdef0123454, 0x789abcdef0123454, true);
	testUint64BinaryL20(0x000000003, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testUint64BinaryR3(0x789abcdef0123456, 0x789abcdef0123459, 0x789abcdef0123453, 0x69d0369cd0369d02, 0x2833944a50061172, 0x000000000, 0x000000002, 0x789abcdef0123457, 0x789abcdef0123455, 0x789abcdef0123454, true);
	testUint64BinaryL20(0x000000064, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testUint64BinaryR4(0x789abcdef0123456, 0x789abcdef01234ba, 0x789abcdef01233f2, 0x1c71c715c71c7198, 0x134bf54263d9f3e, 0x00000001e, 0x000000044, 0x789abcdef0123476, 0x789abcdef0123432, 0x789abcdef0123412, true);
	testUint64BinaryL20(0x000002711, 0x789abcdef0125b67, 0x789abcdef0120d45, 0x950c8160b72e93b6, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testUint64BinaryR5(0x789abcdef0123456, 0x789abcdef0125b67, 0x789abcdef0120d45, 0x950c8160b72e93b6, 0x31650730f1426, 0x0000013d0, 0x000002410, 0x789abcdef0123757, 0x789abcdef0121347, 0x789abcdef0121046, true);
	testUint64BinaryL20(0x07fffffff, 0x789abcdf70123455, 0x789abcde70123457, 0xff6e5d4c0fedcbaa, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testUint64BinaryR6(0x789abcdef0123456, 0x789abcdf70123455, 0x789abcde70123457, 0xff6e5d4c0fedcbaa, 0x0f13579bf, 0x06147ae15, 0x070123456, 0x789abcdeffffffff, 0x789abcde8fedcba9, 0x789abcde80000000, true);
	testUint64BinaryL20(0x080000000, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testUint64BinaryR7(0x789abcdef0123456, 0x789abcdf70123456, 0x789abcde70123456, 0x78091a2b00000000, 0x0f13579bd, 0x070123456, 0x080000000, 0x789abcdef0123456, 0x789abcde70123456, 0x789abcde70123456, true);
	testUint64BinaryL20(0x080000001, 0x789abcdf70123457, 0x789abcde70123455, 0xf0a3d709f0123456, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testUint64BinaryR8(0x789abcdef0123456, 0x789abcdf70123457, 0x789abcde70123455, 0xf0a3d709f0123456, 0x0f13579bb, 0x07edcba9b, 0x080000000, 0x789abcdef0123457, 0x789abcde70123457, 0x789abcde70123456, true);
	testUint64BinaryL20(0x0c0000000, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testUint64BinaryR9(0x789abcdef0123456, 0x789abcdfb0123456, 0x789abcde30123456, 0x340da74080000000, 0x0a0ce5129, 0x030123456, 0x0c0000000, 0x789abcdef0123456, 0x789abcde30123456, 0x789abcde30123456, true);
	testUint64BinaryL20(0x0ffffffff, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testUint64BinaryR10(0x789abcdef0123456, 0x789abcdff0123455, 0x789abcddf0123457, 0x777777770fedcbaa, 0x0789abcdf, 0x068acf135, 0x0f0123456, 0x789abcdeffffffff, 0x789abcde0fedcba9, 0x789abcde00000000, true);
	testUint64BinaryL20(0x100000000, 0x789abcdff0123456, 0x789abcddf0123456, 0xf012345600000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testUint64BinaryR11(0x789abcdef0123456, 0x789abcdff0123456, 0x789abcddf0123456, 0xf012345600000000, 0x0789abcde, 0x0f0123456, 0x000000000, 0x789abcdff0123456, 0x789abcdff0123456, 0x789abcdef0123456, true);
	testUint64BinaryL20(0x100000001, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testUint64BinaryR12(0x789abcdef0123456, 0x789abcdff0123457, 0x789abcddf0123455, 0x68acf134f0123456, 0x0789abcde, 0x077777778, 0x000000000, 0x789abcdff0123457, 0x789abcdff0123457, 0x789abcdef0123456, true);
	testUint64BinaryL20(0x200000000, 0x789abce0f0123456, 0x789abcdcf0123456, 0xe02468ac00000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testUint64BinaryR13(0x789abcdef0123456, 0x789abce0f0123456, 0x789abcdcf0123456, 0xe02468ac00000000, 0x03c4d5e6f, 0x0f0123456, 0x200000000, 0x789abcdef0123456, 0x789abcdcf0123456, 0x789abcdcf0123456, true);
	testUint64BinaryL20(0x7fffffffffffd8f0, 0xf89abcdef0120d46, 0xf89abcdef0125b66, 0xe38e3b7e38e3a0a0, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testUint64BinaryR14(0x789abcdef0123456, 0xf89abcdef0120d46, 0xf89abcdef0125b66, 0xe38e3b7e38e3a0a0, 0x000000000, 0x789abcdef0123456, 0x789abcdef0121050, 0x7ffffffffffffcf6, 0x76543210fedeca6, 0x000002406, true);
	testUint64BinaryL20(0x7fffffffffffffff, 0xf89abcdef0123455, 0xf89abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testUint64BinaryR15(0x789abcdef0123456, 0xf89abcdef0123455, 0xf89abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x7fffffffffffffff, 0x76543210fedcba9, 0x000000000, true);
	testUint64BinaryL20(0xc000000000000000, 0x389abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, 0x000000000, 0x789abcdef0123456, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x389abcdef0123456, true);
	testUint64BinaryR16(0x789abcdef0123456, 0x389abcdef0123456, 0xb89abcdef0123456, 0x8000000000000000, 0x000000000, 0x789abcdef0123456, 0x4000000000000000, 0xf89abcdef0123456, 0xb89abcdef0123456, 0x389abcdef0123456, true);
	testUint64BinaryL20(0xffffffff00000000, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, 0x789abcdef0123456, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x0f0123456, true);
	testUint64BinaryR17(0x789abcdef0123456, 0x789abcddf0123456, 0x789abcdff0123456, 0xfedcbaa00000000, 0x000000000, 0x789abcdef0123456, 0x789abcde00000000, 0xfffffffff0123456, 0x87654321f0123456, 0x0f0123456, true);
	testUint64BinaryL20(0xffffffffffffff9c, 0x789abcdef01233f2, 0x789abcdef01234ba, 0xe38e38ea38e38e68, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x000000042, true);
	testUint64BinaryR18(0x789abcdef0123456, 0x789abcdef01233f2, 0x789abcdef01234ba, 0xe38e38ea38e38e68, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123414, 0xffffffffffffffde, 0x876543210fedcbca, 0x000000042, true);
	testUint64BinaryL20(0xffffffffffffffff, 0x789abcdef0123455, 0x789abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x000000000, true);
	testUint64BinaryR19(0x789abcdef0123456, 0x789abcdef0123455, 0x789abcdef0123457, 0x876543210fedcbaa, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0xffffffffffffffff, 0x876543210fedcba9, 0x000000000, true);
	testUint64BinaryL20(0x789abcdef0123456, 0xf13579bde02468ac, 0x000000000, 0x950b3894a6cb0ce4, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testUint64BinaryR20(0x789abcdef0123456, 0xf13579bde02468ac, 0x000000000, 0x950b3894a6cb0ce4, 0x000000001, 0x000000000, 0x789abcdef0123456, 0x789abcdef0123456, 0x000000000, 0x000000000, true);
	testUint64BinaryL20(0xfedcba9876543210, 0x7777777766666666, 0x79be024679be0246, 0x911c11fb5f941160, 0x000000000, 0x789abcdef0123456, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x2044680020446, true);
	testUint64BinaryR21(0x789abcdef0123456, 0x7777777766666666, 0x79be024679be0246, 0x911c11fb5f941160, 0x000000000, 0x789abcdef0123456, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x2044680020446, true);
	testUint64ShiftL20(0x000000000, 0x789abcdef0123456, 0x789abcdef0123456);
	testUint64ShiftR0(0x789abcdef0123456, 0x789abcdef0123456, 0x789abcdef0123456);
	testUint64ShiftL20(0x000000001, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b);
	testUint64ShiftR1(0x789abcdef0123456, 0xf13579bde02468ac, 0x3c4d5e6f78091a2b);
	testUint64ShiftL20(0x000000002, 0xe26af37bc048d158, 0x1e26af37bc048d15);
	testUint64ShiftR2(0x789abcdef0123456, 0xe26af37bc048d158, 0x1e26af37bc048d15);
	testUint64ShiftL20(0x000000003, 0xc4d5e6f78091a2b0, 0xf13579bde02468a);
	testUint64ShiftR3(0x789abcdef0123456, 0xc4d5e6f78091a2b0, 0xf13579bde02468a);
	testUint64ShiftL20(0x00000000f, 0x5e6f78091a2b0000, 0xf13579bde024);
	testUint64ShiftR4(0x789abcdef0123456, 0x5e6f78091a2b0000, 0xf13579bde024);
	testUint64ShiftL20(0x000000010, 0xbcdef01234560000, 0x789abcdef012);
	testUint64ShiftR5(0x789abcdef0123456, 0xbcdef01234560000, 0x789abcdef012);
	testUint64ShiftL20(0x000000011, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testUint64ShiftR6(0x789abcdef0123456, 0x79bde02468ac0000, 0x3c4d5e6f7809);
	testUint64ShiftL20(0x00000001f, 0x78091a2b00000000, 0x0f13579bd);
	testUint64ShiftR7(0x789abcdef0123456, 0x78091a2b00000000, 0x0f13579bd);
	testUint64ShiftL20(0x000000020, 0xf012345600000000, 0x0789abcde);
	testUint64ShiftR8(0x789abcdef0123456, 0xf012345600000000, 0x0789abcde);
	testUint64ShiftL20(0x000000021, 0xe02468ac00000000, 0x03c4d5e6f);
	testUint64ShiftR9(0x789abcdef0123456, 0xe02468ac00000000, 0x03c4d5e6f);
	testUint64ShiftL20(0x00000003d, 0xc000000000000000, 0x000000003);
	testUint64ShiftR10(0x789abcdef0123456, 0xc000000000000000, 0x000000003);
	testUint64ShiftL20(0x00000003e, 0x8000000000000000, 0x000000001);
	testUint64ShiftR11(0x789abcdef0123456, 0x8000000000000000, 0x000000001);
	testUint64ShiftL20(0x00000003f, 0x000000000, 0x000000000);
	testUint64ShiftR12(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0x789abcdef0123456, 0x000000000, 0x000000000);
	testUint64ShiftL20(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0x789abcdef0123456, 0x000000000, 0x000000000);
}
func test109() {
	testUint64BinaryL21(0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xfedcba9876543210, false);
	testUint64BinaryR0(0xfedcba9876543210, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xfedcba9876543210, false);
	testUint64BinaryL21(0x000000001, 0xfedcba9876543211, 0xfedcba987654320f, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0xfedcba9876543210, true);
	testUint64BinaryR1(0xfedcba9876543210, 0xfedcba9876543211, 0xfedcba987654320f, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, 0xfedcba9876543211, 0xfedcba9876543211, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x000000002, 0xfedcba9876543212, 0xfedcba987654320e, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908, 0x000000000, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0xfedcba9876543210, true);
	testUint64BinaryR2(0xfedcba9876543210, 0xfedcba9876543212, 0xfedcba987654320e, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908, 0x000000000, 0x000000000, 0xfedcba9876543212, 0xfedcba9876543212, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x000000003, 0xfedcba9876543213, 0xfedcba987654320d, 0xfc962fc962fc9630, 0x54f43e32d21c10b0, 0x000000000, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0xfedcba9876543210, true);
	testUint64BinaryR3(0xfedcba9876543210, 0xfedcba9876543213, 0xfedcba987654320d, 0xfc962fc962fc9630, 0x54f43e32d21c10b0, 0x000000000, 0x000000000, 0xfedcba9876543213, 0xfedcba9876543213, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x000000064, 0xfedcba9876543274, 0xfedcba98765431ac, 0x8e38e38e38e38e40, 0x28c7281864da457, 0x000000014, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0xfedcba9876543210, true);
	testUint64BinaryR4(0xfedcba9876543210, 0xfedcba9876543274, 0xfedcba98765431ac, 0x8e38e38e38e38e40, 0x28c7281864da457, 0x000000014, 0x000000000, 0xfedcba9876543274, 0xfedcba9876543274, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x000002711, 0xfedcba9876545921, 0xfedcba9876540aff, 0x8d159e26af37c310, 0x6861919c9d81f, 0x000001f01, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0xfedcba9876541000, true);
	testUint64BinaryR5(0xfedcba9876543210, 0xfedcba9876545921, 0xfedcba9876540aff, 0x8d159e26af37c310, 0x6861919c9d81f, 0x000001f01, 0x000002210, 0xfedcba9876543711, 0xfedcba9876541501, 0xfedcba9876541000, true);
	testUint64BinaryL21(0x07fffffff, 0xfedcba98f654320f, 0xfedcba97f6543211, 0x3c4d5e6f89abcdf0, 0x1fdb97534, 0x0740da744, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0xfedcba9800000000, true);
	testUint64BinaryR6(0xfedcba9876543210, 0xfedcba98f654320f, 0xfedcba97f6543211, 0x3c4d5e6f89abcdf0, 0x1fdb97534, 0x0740da744, 0x076543210, 0xfedcba987fffffff, 0xfedcba9809abcdef, 0xfedcba9800000000, true);
	testUint64BinaryL21(0x080000000, 0xfedcba98f6543210, 0xfedcba97f6543210, 0x3b2a190800000000, 0x1fdb97530, 0x076543210, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0xfedcba9876543210, true);
	testUint64BinaryR7(0xfedcba9876543210, 0xfedcba98f6543210, 0xfedcba97f6543210, 0x3b2a190800000000, 0x1fdb97530, 0x076543210, 0x000000000, 0xfedcba98f6543210, 0xfedcba98f6543210, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x080000001, 0xfedcba98f6543211, 0xfedcba97f654320f, 0x3a06d3a076543210, 0x1fdb9752c, 0x0789abce4, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0xfedcba9876543210, true);
	testUint64BinaryR8(0xfedcba9876543210, 0xfedcba98f6543211, 0xfedcba97f654320f, 0x3a06d3a076543210, 0x1fdb9752c, 0x0789abce4, 0x000000000, 0xfedcba98f6543211, 0xfedcba98f6543211, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x0c0000000, 0xfedcba9936543210, 0xfedcba97b6543210, 0x58bf258c00000000, 0x153d0f8cb, 0x036543210, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0xfedcba9836543210, true);
	testUint64BinaryR9(0xfedcba9876543210, 0xfedcba9936543210, 0xfedcba97b6543210, 0x58bf258c00000000, 0x153d0f8cb, 0x036543210, 0x040000000, 0xfedcba98f6543210, 0xfedcba98b6543210, 0xfedcba9836543210, true);
	testUint64BinaryL21(0x0ffffffff, 0xfedcba997654320f, 0xfedcba9776543211, 0x7777777789abcdf0, 0x0fedcba99, 0x07530eca9, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0xfedcba9800000000, true);
	testUint64BinaryR10(0xfedcba9876543210, 0xfedcba997654320f, 0xfedcba9776543211, 0x7777777789abcdf0, 0x0fedcba99, 0x07530eca9, 0x076543210, 0xfedcba98ffffffff, 0xfedcba9889abcdef, 0xfedcba9800000000, true);
	testUint64BinaryL21(0x100000000, 0xfedcba9976543210, 0xfedcba9776543210, 0x7654321000000000, 0x0fedcba98, 0x076543210, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0xfedcba9876543210, true);
	testUint64BinaryR11(0xfedcba9876543210, 0xfedcba9976543210, 0xfedcba9776543210, 0x7654321000000000, 0x0fedcba98, 0x076543210, 0x000000000, 0xfedcba9976543210, 0xfedcba9976543210, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x100000001, 0xfedcba9976543211, 0xfedcba977654320f, 0x7530eca876543210, 0x0fedcba97, 0x077777779, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0xfedcba9876543210, true);
	testUint64BinaryR12(0xfedcba9876543210, 0xfedcba9976543211, 0xfedcba977654320f, 0x7530eca876543210, 0x0fedcba97, 0x077777779, 0x000000000, 0xfedcba9976543211, 0xfedcba9976543211, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x200000000, 0xfedcba9a76543210, 0xfedcba9676543210, 0xeca8642000000000, 0x07f6e5d4c, 0x076543210, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0xfedcba9876543210, true);
	testUint64BinaryR13(0xfedcba9876543210, 0xfedcba9a76543210, 0xfedcba9676543210, 0xeca8642000000000, 0x07f6e5d4c, 0x076543210, 0x000000000, 0xfedcba9a76543210, 0xfedcba9a76543210, 0xfedcba9876543210, true);
	testUint64BinaryL21(0x7fffffffffffd8f0, 0x7edcba9876540b00, 0x7edcba9876545920, 0x71c71c71c71c6f00, 0x000000001, 0x7edcba9876545920, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x8000000000002200, true);
	testUint64BinaryR14(0xfedcba9876543210, 0x7edcba9876540b00, 0x7edcba9876545920, 0x71c71c71c71c6f00, 0x000000001, 0x7edcba9876545920, 0x7edcba9876541010, 0xfffffffffffffaf0, 0x8123456789abeae0, 0x8000000000002200, true);
	testUint64BinaryL21(0x7fffffffffffffff, 0x7edcba987654320f, 0x7edcba9876543211, 0x123456789abcdf0, 0x000000001, 0x7edcba9876543211, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x8000000000000000, true);
	testUint64BinaryR15(0xfedcba9876543210, 0x7edcba987654320f, 0x7edcba9876543211, 0x123456789abcdf0, 0x000000001, 0x7edcba9876543211, 0x7edcba9876543210, 0xffffffffffffffff, 0x8123456789abcdef, 0x8000000000000000, true);
	testUint64BinaryL21(0xc000000000000000, 0xbedcba9876543210, 0x3edcba9876543210, 0x000000000, 0x000000001, 0x3edcba9876543210, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x3edcba9876543210, true);
	testUint64BinaryR16(0xfedcba9876543210, 0xbedcba9876543210, 0x3edcba9876543210, 0x000000000, 0x000000001, 0x3edcba9876543210, 0xc000000000000000, 0xfedcba9876543210, 0x3edcba9876543210, 0x3edcba9876543210, true);
	testUint64BinaryL21(0xffffffff00000000, 0xfedcba9776543210, 0xfedcba9976543210, 0x89abcdf000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x076543210, true);
	testUint64BinaryR17(0xfedcba9876543210, 0xfedcba9776543210, 0xfedcba9976543210, 0x89abcdf000000000, 0x000000000, 0xfedcba9876543210, 0xfedcba9800000000, 0xffffffff76543210, 0x123456776543210, 0x076543210, true);
	testUint64BinaryL21(0xffffffffffffff9c, 0xfedcba98765431ac, 0xfedcba9876543274, 0x71c71c71c71c71c0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x000000000, true);
	testUint64BinaryR18(0xfedcba9876543210, 0xfedcba98765431ac, 0xfedcba9876543274, 0x71c71c71c71c71c0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffff9c, 0x123456789abcd8c, 0x000000000, true);
	testUint64BinaryL21(0xffffffffffffffff, 0xfedcba987654320f, 0xfedcba9876543211, 0x123456789abcdf0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x000000000, true);
	testUint64BinaryR19(0xfedcba9876543210, 0xfedcba987654320f, 0xfedcba9876543211, 0x123456789abcdf0, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0xffffffffffffffff, 0x123456789abcdef, 0x000000000, true);
	testUint64BinaryL21(0x789abcdef0123456, 0x7777777766666666, 0x8641fdb98641fdba, 0x911c11fb5f941160, 0x000000002, 0xda740da962fc964, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x8644020006440200, true);
	testUint64BinaryR20(0xfedcba9876543210, 0x7777777766666666, 0x8641fdb98641fdba, 0x911c11fb5f941160, 0x000000002, 0xda740da962fc964, 0x7898b89870103010, 0xfedebedef6563656, 0x8646064686460646, 0x8644020006440200, true);
	testUint64BinaryL21(0xfedcba9876543210, 0xfdb97530eca86420, 0x000000000, 0xdeec6cd7a44a4100, 0x000000001, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, true);
	testUint64BinaryR21(0xfedcba9876543210, 0xfdb97530eca86420, 0x000000000, 0xdeec6cd7a44a4100, 0x000000001, 0x000000000, 0xfedcba9876543210, 0xfedcba9876543210, 0x000000000, 0x000000000, true);
	testUint64ShiftL21(0x000000000, 0xfedcba9876543210, 0xfedcba9876543210);
	testUint64ShiftR0(0xfedcba9876543210, 0xfedcba9876543210, 0xfedcba9876543210);
	testUint64ShiftL21(0x000000001, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908);
	testUint64ShiftR1(0xfedcba9876543210, 0xfdb97530eca86420, 0x7f6e5d4c3b2a1908);
	testUint64ShiftL21(0x000000002, 0xfb72ea61d950c840, 0x3fb72ea61d950c84);
	testUint64ShiftR2(0xfedcba9876543210, 0xfb72ea61d950c840, 0x3fb72ea61d950c84);
	testUint64ShiftL21(0x000000003, 0xf6e5d4c3b2a19080, 0x1fdb97530eca8642);
	testUint64ShiftR3(0xfedcba9876543210, 0xf6e5d4c3b2a19080, 0x1fdb97530eca8642);
	testUint64ShiftL21(0x00000000f, 0x5d4c3b2a19080000, 0x1fdb97530eca8);
	testUint64ShiftR4(0xfedcba9876543210, 0x5d4c3b2a19080000, 0x1fdb97530eca8);
	testUint64ShiftL21(0x000000010, 0xba98765432100000, 0xfedcba987654);
	testUint64ShiftR5(0xfedcba9876543210, 0xba98765432100000, 0xfedcba987654);
	testUint64ShiftL21(0x000000011, 0x7530eca864200000, 0x7f6e5d4c3b2a);
	testUint64ShiftR6(0xfedcba9876543210, 0x7530eca864200000, 0x7f6e5d4c3b2a);
	testUint64ShiftL21(0x00000001f, 0x3b2a190800000000, 0x1fdb97530);
	testUint64ShiftR7(0xfedcba9876543210, 0x3b2a190800000000, 0x1fdb97530);
	testUint64ShiftL21(0x000000020, 0x7654321000000000, 0x0fedcba98);
	testUint64ShiftR8(0xfedcba9876543210, 0x7654321000000000, 0x0fedcba98);
	testUint64ShiftL21(0x000000021, 0xeca8642000000000, 0x07f6e5d4c);
	testUint64ShiftR9(0xfedcba9876543210, 0xeca8642000000000, 0x07f6e5d4c);
	testUint64ShiftL21(0x00000003d, 0x000000000, 0x000000007);
	testUint64ShiftR10(0xfedcba9876543210, 0x000000000, 0x000000007);
	testUint64ShiftL21(0x00000003e, 0x000000000, 0x000000003);
	testUint64ShiftR11(0xfedcba9876543210, 0x000000000, 0x000000003);
	testUint64ShiftL21(0x00000003f, 0x000000000, 0x000000001);
	testUint64ShiftR12(0xfedcba9876543210, 0x000000000, 0x000000001);
	testUint64ShiftL21(0x000000040, 0x000000000, 0x000000000);
	testUint64ShiftR13(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x000000041, 0x000000000, 0x000000000);
	testUint64ShiftR14(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x0ffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR15(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x100000000, 0x000000000, 0x000000000);
	testUint64ShiftR16(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x100000001, 0x000000000, 0x000000000);
	testUint64ShiftR17(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x1000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR18(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0x8000000000000000, 0x000000000, 0x000000000);
	testUint64ShiftR19(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0xffffffff00000000, 0x000000000, 0x000000000);
	testUint64ShiftR20(0xfedcba9876543210, 0x000000000, 0x000000000);
	testUint64ShiftL21(0xffffffffffffffff, 0x000000000, 0x000000000);
	testUint64ShiftR21(0xfedcba9876543210, 0x000000000, 0x000000000);
}
func main() {
	test0();
	test1();
	test2();
	test3();
	test4();
	test5();
	test6();
	test7();
	test8();
	test9();
	test10();
	test11();
	test12();
	test13();
	test14();
	test15();
	test16();
	test17();
	test18();
	test19();
	test20();
	test21();
	test22();
	test23();
	test24();
	test25();
	test26();
	test27();
	test28();
	test29();
	test30();
	test31();
	test32();
	test33();
	test34();
	test35();
	test36();
	test37();
	test38();
	test39();
	test40();
	test41();
	test42();
	test43();
	test44();
	test45();
	test46();
	test47();
	test48();
	test49();
	test50();
	test51();
	test52();
	test53();
	test54();
	test55();
	test56();
	test57();
	test58();
	test59();
	test60();
	test61();
	test62();
	test63();
	test64();
	test65();
	test66();
	test67();
	test68();
	test69();
	test70();
	test71();
	test72();
	test73();
	test74();
	test75();
	test76();
	test77();
	test78();
	test79();
	test80();
	test81();
	test82();
	test83();
	test84();
	test85();
	test86();
	test87();
	test88();
	test89();
	test90();
	test91();
	test92();
	test93();
	test94();
	test95();
	test96();
	test97();
	test98();
	test99();
	test100();
	test101();
	test102();
	test103();
	test104();
	test105();
	test106();
	test107();
	test108();
	test109();
	if !ok { os.Exit(1) }
}
